sources push

This commit is contained in:
Jonny_Bro (Nikita) 2024-03-17 17:04:07 +05:00
parent 996dc8bb18
commit f946006237
No known key found for this signature in database
GPG key ID: 3F1ECC04147E9BD8
93 changed files with 2091 additions and 194 deletions

10
.gitignore vendored Normal file
View file

@ -0,0 +1,10 @@
.DS_Store
node_modules
/build
/.svelte-kit
/package
.env
.env.*
!.env.example
vite.config.js.timestamp-*
vite.config.ts.timestamp-*

1
.npmrc Normal file
View file

@ -0,0 +1 @@
engine-strict=true

13
.prettierignore Normal file
View file

@ -0,0 +1,13 @@
.DS_Store
node_modules
/build
/.svelte-kit
/package
.env
.env.*
!.env.example
# Ignore files for PNPM, NPM and YARN
pnpm-lock.yaml
package-lock.json
yarn.lock

9
.prettierrc Normal file
View file

@ -0,0 +1,9 @@
{
"useTabs": true,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte"],
"pluginSearchDirs": ["."],
"overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
}

38
README.md Normal file
View file

@ -0,0 +1,38 @@
# create-svelte
Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
## Creating a project
If you're seeing this, you've probably already done this step. Congrats!
```bash
# create a new project in the current directory
npm create svelte@latest
# create a new project in my-app
npm create svelte@latest my-app
```
## Developing
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
```bash
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
```
## Building
To create a production version of your app:
```bash
npm run build
```
You can preview the production build with `npm run preview`.
> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.

View file

@ -1 +0,0 @@
import{_ as r}from"./_layout-da46b06b.js";import{default as t}from"../components/layout.svelte-81b25a9c.js";export{t as component,r as universal};

View file

@ -1 +0,0 @@
import{default as t}from"../components/error.svelte-cf040f97.js";export{t as component};

View file

@ -1 +0,0 @@
import{default as t}from"../components/pages/_page.svelte-7d3b4c8a.js";export{t as component};

View file

@ -1 +0,0 @@
const e=!0,r=Object.freeze(Object.defineProperty({__proto__:null,prerender:!0},Symbol.toStringTag,{value:"Module"}));export{r as _,e as p};

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
import{B as d,s as w}from"./index-1f5fb370.js";const c=[];function b(e,t=d){let n;const s=new Set;function o(a){if(w(e,a)&&(e=a,n)){const u=!c.length;for(const l of s)l[1](),c.push(l,e);if(u){for(let l=0;l<c.length;l+=2)c[l][0](c[l+1]);c.length=0}}}function r(a){o(a(e))}function i(a,u=d){const l=[a,u];return s.add(l),s.size===1&&(n=t(o)||d),a(e),()=>{s.delete(l),s.size===0&&(n(),n=null)}}return{set:o,update:r,subscribe:i}}let m="",p="",E="";function I(e){p=e.base,m=e.assets||p}function y(e){E=e}const S="sveltekit:scroll",x="sveltekit:index",h={tap:1,hover:2,viewport:3,eager:4,off:-1};function T(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function U(){return{x:pageXOffset,y:pageYOffset}}function f(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const _={...h,"":h.hover};function v(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function L(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=v(e)}}function O(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const s=e instanceof SVGAElement?e.target.baseVal:e.target,o=!n||!!s||k(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external")||e.hasAttribute("download");return{url:n,external:o,target:s}}function V(e){let t=null,n=null,s=null,o=null,r=e;for(;r&&r!==document.documentElement;)n===null&&(n=f(r,"preload-code")),s===null&&(s=f(r,"preload-data")),t===null&&(t=f(r,"noscroll")),o===null&&(o=f(r,"reload")),r=v(r);return{preload_code:_[n??"off"],preload_data:_[s??"off"],noscroll:t==="off"?!1:t===""?!0:null,reload:o==="off"?!1:o===""?!0:null}}function g(e){const t=b(e);let n=!0;function s(){n=!0,t.update(i=>i)}function o(i){n=!1,t.set(i)}function r(i){let a;return t.subscribe(u=>{(a===void 0||n&&u!==a)&&i(a=u)})}return{notify:s,set:o,subscribe:r}}function R(){const{set:e,subscribe:t}=b(!1);let n;async function s(){clearTimeout(n);const o=await fetch(`${m}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(o.ok){const i=(await o.json()).version!==E;return i&&(e(!0),clearTimeout(n)),i}else throw new Error(`Version check failed: ${o.status}`)}return{subscribe:t,check:s}}function k(e,t){return e.origin!==location.origin||!e.pathname.startsWith(t)}function N(e){e.client}const $={url:g({}),page:g({}),navigating:b(null),updated:R()};export{x as I,h as P,S,O as a,V as b,U as c,I as d,N as e,L as f,T as g,y as h,k as i,$ as s};

View file

@ -1 +0,0 @@
import{S,i as q,s as x,k as f,q as _,a as H,l as d,m as g,r as h,h as u,c as k,b as m,G as v,u as $,B as E,H as y}from"../chunks/index-1f5fb370.js";import{s as B}from"../chunks/singletons-b768face.js";const C=()=>{const s=B;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},G={subscribe(s){return C().page.subscribe(s)}};function P(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",l;return{c(){t=f("h1"),o=_(r),n=H(),i=f("p"),l=_(c)},l(e){t=d(e,"H1",{});var a=g(t);o=h(a,r),a.forEach(u),n=k(e),i=d(e,"P",{});var p=g(i);l=h(p,c),p.forEach(u)},m(e,a){m(e,t,a),v(t,o),m(e,n,a),m(e,i,a),v(i,l)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&$(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&$(l,c)},i:E,o:E,d(e){e&&u(t),e&&u(n),e&&u(i)}}}function j(s,t,r){let o;return y(s,G,n=>r(0,o=n)),[o]}let A=class extends S{constructor(t){super(),q(this,t,j,P,x,{})}};export{A as default};

View file

@ -1 +0,0 @@
import{S as o,i,s as r,C as u,D as f,E as _,F as c,f as p,t as d}from"../chunks/index-1f5fb370.js";function m(n){let s;const l=n[1].default,e=u(l,n,n[0],null);return{c(){e&&e.c()},l(t){e&&e.l(t)},m(t,a){e&&e.m(t,a),s=!0},p(t,[a]){e&&e.p&&(!s||a&1)&&f(e,l,t,t[0],s?c(l,t[0],a,null):_(t[0]),null)},i(t){s||(p(e,t),s=!0)},o(t){d(e,t),s=!1},d(t){e&&e.d(t)}}}function $(n,s,l){let{$$slots:e={},$$scope:t}=s;return n.$$set=a=>{"$$scope"in a&&l(0,t=a.$$scope)},[t,e]}class h extends o{constructor(s){super(),i(this,s,$,m,r,{})}}export{h as default};

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
import{p}from"../../chunks/_layout-da46b06b.js";export{p as prerender};

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
{"version":"1686129339681"}

14
build_and_push.py Normal file
View file

@ -0,0 +1,14 @@
import os
import subprocess
import shlex
def shell_exec(command):
p = subprocess.Popen(shlex.split(command), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).communicate()
return p[0].decode("utf-8", errors="ignore")
try:
print(shell_exec("npm run build"))
except Exception as e:
print(e)
#print(shell_exec("rsync -avhp --rsync-path=\"sudo rsync\" --chmod=a=rwX build/ steam@hvh.tf:/var/www/html/"))

25
build_windows.py Normal file
View file

@ -0,0 +1,25 @@
import os
from pathlib import Path
import traceback
paths = []
paired_paths = []
counter = 0
try:
for path in Path('input/').rglob('*'):
counter += 1
path = str(path)
oldext = os.path.splitext(path)[1]
os.rename(path, "shame/" + str(counter) + oldext)
path = "shame/" + str(counter) + oldext
paths.append(str(path).replace("\\", "/"))
except Exception as e:
print(traceback.format_exc())
input()
for i in range(0, len(paths), 2):
if i+1 > len(paths):
paired_paths.append([paths[i]])
else:
paired_paths.append([paths[i], paths[i+1]])
print(paired_paths)

View file

@ -1,90 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<!-- Access notice:
- French people may not view this document. Violating this will result in immediate death.
- If you are associated with datae, his patreon, his cat, his nephew or his kitchen, you will be killed through the monitor using exclusive CIA technology.
-->
<head>
<meta charset="utf-8" />
<link rel="icon" href="./favicon.ico" />
<title>Beatrun</title>
<meta content="Beatrun Leak" property="og:title" />
<meta content="Enjoy the most up-to-date, free beatrun build fresh out of datae's ass. Malware free!!" property="og:description" />
<meta content="https://beatrun.ru" property="og:url" />
<meta content="#808080" data-react-helmet="true" name="theme-color" />
<link rel='stylesheet' href='./css/pico.css'>
<link rel='stylesheet' href='./css/main.css'>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" crossorigin="anonymous" referrerpolicy="no-referrer" />
<meta name="viewport" content="width=device-width" />
<meta http-equiv="content-security-policy" content="">
<link rel="modulepreload" href="./_app/immutable/start-1d7bffac.js">
<link rel="modulepreload" href="./_app/immutable/chunks/index-1f5fb370.js">
<link rel="modulepreload" href="./_app/immutable/chunks/singletons-b768face.js">
<link rel="modulepreload" href="./_app/immutable/components/layout.svelte-81b25a9c.js">
<link rel="modulepreload" href="./_app/immutable/modules/pages/_layout.js-9cbb603b.js">
<link rel="modulepreload" href="./_app/immutable/chunks/_layout-da46b06b.js">
<link rel="modulepreload" href="./_app/immutable/components/pages/_page.svelte-7d3b4c8a.js">
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents">
<img style="position: absolute; left: 0; bottom: 0; z-index: 999; max-width: 20%; max-height: 20%" src="/images/france.gif" alt="datae">
<video style="position: absolute; right: 0; bottom: 0; z-index: 999; max-width: 20%; max-height: 20%" muted loop preload="none" id="amen"><source src="/media/ilovepiracyamenbreak.mp4" type="video/mp4"></video>
<div id="nav_content"><header><nav class="container"><ul><li><a href="#" style="width: 50px"><img src="/images/flag.png"></a></li>
<li></li>
<li><a href="#" class="inactivelink"><b style="font-size: 14px !important;">DDOS Attacks blocked: 12<br>datae has a weak booter cuz fbi seized the good ones... so sad</b></a></li></ul>
<ul><li><a href="https://discord.gg/93Psubbgsg"><b>Discord</b></a></li>
<li><a href="https://courses.beatrun.ru"><b>Courses</b></a></li>
<li><a href="#"><b>Wall Of Shame</b></a></li></ul></nav></header></div>
<main class="container"><div><article><hgroup><h1 align="center">Beatrun</h1>
<h3 align="center">Unofficial release of beatrun made by our beloved GMOD paster, transphobe and super mega racist datae.<br>Below is a list where you can get the latest cracked version of beatrun, free of charge, free of malware and modules. Including only pure lua code.</h3></hgroup>
<div class="grid" align="center"><div><hgroup><h5>Github (relaxtakenotes edition)</h5>
<h3>This version is the closest to vanilla, including only minor changes and fixes.</h3></hgroup>
<a class="button" href="https://github.com/jeffthekillerz/beatrun" role="button">Go</a></div>
<div><hgroup><h5>Github (jonnybro edition)</h5>
<h3>Maintained by a different person and much more actively. Includes additional features and way more fixes. This is recommended!</h3></hgroup>
<a class="button" href="https://github.com/JonnyBro/beatrun" role="button">Go</a></div></div></article></div></main>
<div id="footer_content" style="display: contents;"><footer class="container-fluid footer_style footer_center" style="overflow:hidden;"><p style="color: #505050; font-size: 1ch">Now playing: dylan85#6786 - Sea Shanty Remix<br>France lost | Coperight @ relaxtakenotes / el1s1on 2069</p></footer></div>
<div id="whiteout"></div>
<div id="cover"><div id="covercontainer"><p>
<br><br>
<button class="button">Mute music</button>
<button class="button">Keep music</button></p></div></div>
<script type="module" data-sveltekit-hydrate="15wyrw2">
import { start } from "./_app/immutable/start-1d7bffac.js";
start({
env: {},
paths: {"assets":"","base":""},
target: document.querySelector('[data-sveltekit-hydrate="15wyrw2"]').parentNode,
version: "1686129339681",
hydrate: {
node_ids: [0, 2],
data: [null,null],
form: null,
error: null
}
});
</script>
</div>
</body>
<!-- Jesus said "I will rebuild this temple in three days." I could make a compiler in 3 days. -->
</html>

17
jsconfig.json Normal file
View file

@ -0,0 +1,17 @@
{
"extends": "./.svelte-kit/tsconfig.json",
"compilerOptions": {
"allowJs": true,
"checkJs": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"strict": true
}
// Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias and https://kit.svelte.dev/docs/configuration#files
//
// If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
// from the referenced tsconfig.json - TypeScript does not merge them in
}

39
package.json Normal file
View file

@ -0,0 +1,39 @@
{
"name": "hvhtf-svelte",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch",
"lint": "prettier --plugin-search-dir . --check .",
"format": "prettier --plugin-search-dir . --write ."
},
"devDependencies": {
"@sveltejs/adapter-auto": "^1.0.0",
"@sveltejs/adapter-node": "^1.1.4",
"@sveltejs/adapter-static": "^1.0.5",
"@sveltejs/kit": "^1.0.0",
"prettier": "^2.8.0",
"prettier-plugin-svelte": "^2.8.1",
"svelte": "^3.54.0",
"svelte-check": "^3.0.1",
"typescript": "^4.9.3",
"vite": "^4.0.0"
},
"type": "module",
"dependencies": {
"@esbuild-plugins/node-globals-polyfill": "^0.1.1",
"@esbuild-plugins/node-modules-polyfill": "^0.1.4",
"buffer": "^6.0.3",
"dotenv": "^16.0.3",
"events": "^3.3.0",
"path-browserify": "^1.0.1",
"process": "^0.11.10",
"source-server-query": "^3.0.3",
"svelte-device-detector": "^0.2.2",
"util": "^0.12.5"
}
}

1708
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load diff

13
src/app.d.ts vendored Normal file
View file

@ -0,0 +1,13 @@
// See https://kit.svelte.dev/docs/types#app
// for information about these interfaces
// and what to do when importing types
declare global {
namespace App {
// interface Error {}
// interface Locals {}
// interface PageData {}
// interface Platform {}
}
}
export {};

30
src/app.html Normal file
View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<!-- Access notice:
- French people may not view this document. Violating this will result in immediate death.
- If you are associated with datae, his patreon, his cat, his nephew or his kitchen, you will be killed through the monitor using exclusive CIA technology.
-->
<head>
<meta charset="utf-8" />
<link rel="icon" href="%sveltekit.assets%/favicon.ico" />
<title>Beatrun</title>
<meta content="Beatrun Leak" property="og:title" />
<meta content="Enjoy the most up-to-date, free Beatrun build fresh out of datae's ass. Malware free!!" property="og:description" />
<meta content="https://beatrun.ru" property="og:url" />
<meta content="#808080" data-react-helmet="true" name="theme-color" />
<link rel='stylesheet' href='%sveltekit.assets%/css/pico.css'>
<link rel='stylesheet' href='%sveltekit.assets%/css/main.css'>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" crossorigin="anonymous" referrerpolicy="no-referrer" />
<meta name="viewport" content="width=device-width" />
%sveltekit.head%
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents">%sveltekit.body%</div>
</body>
<!-- Jesus said "I will rebuild this temple in three days." I could make a compiler in 3 days. -->
</html>

1
src/routes/+layout.js Normal file
View file

@ -0,0 +1 @@
export const prerender = true;

136
src/routes/+page.svelte Normal file
View file

@ -0,0 +1,136 @@
<script>
// @ts-nocheck
//import { onMount } from 'svelte';
import { browser } from '$app/environment';
function rand_int(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1) + min);
}
let images = [['shame/1.png', 'shame/2.png'], ['shame/3.webp', 'shame/4.webp'], ['shame/5.webp', 'shame/6.webp'], ['shame/7.webp', 'shame/8.webp'], ['shame/9.webp', 'shame/10.webp'], ['shame/11.webp', 'shame/12.webp'], ['shame/13.webp', 'shame/14.webp'], ['shame/15.webp', 'shame/16.webp'], ['shame/17.webp', 'shame/18.webp'], ['shame/19.webp', 'shame/20.png'], ['shame/21.png', 'shame/22.png'], ['shame/23.png', 'shame/24.png'], ['shame/25.png', 'shame/26.png'], ['shame/27.png', 'shame/28.png'], ['shame/29.png', 'shame/30.png'], ['shame/31.png', 'shame/32.png'], ['shame/33.png', 'shame/34.png'], ['shame/35.png', 'shame/36.png'], ['shame/37.webp', 'shame/38.webp'], ['shame/39.webp', 'shame/40.webp'], ['shame/41.webp', 'shame/42.webp'], ['shame/43.png', 'shame/44.png'], ['shame/45.png', 'shame/46.webp'], ['shame/47.webp', 'shame/48.webp'], ['shame/49.webp', 'shame/50.webp'], ['shame/51.webp', 'shame/52.webp']];
let phrases = ["What is it now?", "Killing time.", "France lost.", "No leaked IP addresses on this site.", "Jeff the killer scares me.",
"I'm not racist, but I really fucking hate mochas. Real tawlk.", "get coding nik, ka. (\"ka\" is \"the\" from hawaiian language.)",
"I wanted to know more about lucid dreaming.", "You can start from the top of your pencil, meanwhile.", "Nonsense French babble.",
"I slapped a figuratively tag near pedo to imply that they're more creeps than pedos."];
let songs = ["/media/canibitch.mp3", "/media/ilovepiracyamenbreak.mp4", "/media/seashanty_dylan85.mp3"];
let songs_names = ["Eminem - Canibitch", "sonyPlaytation - I F*CKING LOVE PIRACY", "dylan85#6786 - Sea Shanty Remix"];
let choice = rand_int(0, songs.length-1);
let song = songs[choice];
let song_name = songs_names[choice];
var phrase = "";
var where = "/";
var hour = 0;
function start_site(start_muted) {
var music = new Audio(song);
music.volume = 0.15;
music.muted = start_muted;
music.play();
if (start_muted) {
setTimeout(()=> {song_name = "Nothing, because you're a coward.";}, 1);
}
music.addEventListener('ended', function() {
this.currentTime = 0;
this.play();
}, false);
let vid = document.getElementById("amen");
vid.volume = 0;
vid.muted = true;
vid.play();
var cover = document.getElementById('cover').style;
cover.opacity = 1;
(function fade(){(cover.opacity-=.02)<0?cover.display="none":setTimeout(fade,6.94)})();
let date = new Date();
let hour = date.getHours();
var whiteout = document.getElementById('whiteout').style;
if (hour > 8 && hour < 20) {
whiteout.opacity = 1;
whiteout.zIndex = 9999;
(function fade(){(whiteout.opacity-=.02)<0?whiteout.display="none":setTimeout(fade,6.94)})();
} else {
whiteout.display = "none";
}
}
function set_tab(name) {
where = name;
event.preventDefault();
}
if (browser) {
phrase = "\"" + phrases[Math.floor(Math.random()*phrases.length)] + "\"";
}
</script>
<img style="position: absolute; left: 0; bottom: 0; z-index: 999; max-width: 20%; max-height: 20%" src="/images/france.gif" alt="datae">
<video style="position: absolute; right: 0; bottom: 0; z-index: 999; max-width: 20%; max-height: 20%" muted loop preload="none" id="amen">
<source src="/media/ilovepiracyamenbreak.mp4" type="video/mp4">
</video>
<div id="nav_content">
<header>
<nav class="container">
<ul>
<li><a href="#" on:click={() => set_tab("/") } style="width: 50px"><img src="/images/flag.png"></a></li>
<li></li>
<li><a href="#" class="inactivelink"><b style="font-size: 14px !important;">DDOS Attacks blocked: 12<br>datae has a weak booter cuz fbi seized the good ones... so sad</b></a></li>
</ul>
<ul>
<li><a target="_blank" href="https://discord.gg/93Psubbgsg"><b>Discord</b></a></li>
<li><a target="_blank" href="https://courses.beatrun.ru"><b>Courses</b></a></li>
<li><a href="#" on:click={()=> set_tab("/images") }><b>Wall Of Shame</b></a></li>
</ul>
</nav>
</header>
</div>
{#if where == "/"}
<main class="container" >
<div>
<article>
<hgroup>
<h1 align="center">Beatrun</h1>
<h3 align="center">Unofficial release of Beatrun made by our beloved GMOD paster, transphobe and super mega racist datae.<br>Free of charge, free of malware and (necessary to play) modules. Including only pure lua code.</h3>
</hgroup>
<div class="grid" align="center">
<div>
<a class="button" href="https://github.com/JonnyBro/beatrun" role="button">Download</a>
</div>
</div>
</article>
</div>
</main>
{/if}
<div id="footer_content" style="display: contents;">
<footer class="container-fluid footer_style footer_center" style="overflow:hidden;">
<p style="color: #505050; font-size: 1ch">Now playing: {song_name}<br>DManip wuz better l0l | Coperight @ relaxtakenotes / el1s1on / jonnybro 2069</p>
</footer>
</div>
<div id="whiteout"></div>
<div id="cover">
<div id="covercontainer">
<p>
{phrase}
<br><br>
<button class="button" on:click={ ()=> start_site(true) }>Mute music</button>
<button class="button" on:click={ ()=> start_site(false) }>Keep music</button>
</p>
</div>
</div>

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 162 KiB

View file

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View file

@ -1,3 +1,5 @@
# VDF Deserializer
Enum State
{
Start = 0;
@ -277,17 +279,19 @@ function GetCount($thing) {
$VDF = [VdfDeserializer]::new();
# Main Script
$SteamPath = Get-ItemProperty -Path HKLM:/SOFTWARE/WOW6432Node/Valve/Steam;
$SteamPath = $SteamPath.InstallPath;
$SteamPath = $SteamPath.ToString();
Write-Host Looking for steam libraries...;
Write-Host Looking for Steam libraries...;
$LibraryFoldersVDF = $SteamPath + "/steamapps/libraryfolders.vdf";
$LibrariesRaw = Get-Content $LibraryFoldersVDF;
$LibrariesVDF = $VDF.Deserialize($LibrariesRaw);
Write-Host Done!;
Write-Host Found!;
$libcount = GetCount($LibrariesVDF.libraryfolders);
for ($i = 0; $i -lt $libcount; $i++) {
@ -297,8 +301,9 @@ for ($i = 0; $i -lt $libcount; $i++) {
$GMODPath = $Install.path + "\\steamapps\\common\\GarrysMod";
$AddonsPath = $GMODPath + "\\garrysmod\\addons";
$_text = "Do you want to install in this path? It will completely wipe the previous beatrun install if you had one! `n" + $GMODPath + " (y/n)";
$_text = "Do you want to install in this path? It will completely wipe the previous beatrun install if you had one! `n" + $GMODPath.replace('\\', '\') + " (y/n)";
$GMODConfirmation = Read-Host $_text;
if ($GMODConfirmation -eq 'y') {
$TempPath = $GMODPath + "\\temp\\";
$ZIPPath = $TempPath + "beatrun.zip";
@ -308,10 +313,13 @@ for ($i = 0; $i -lt $libcount; $i++) {
(New-Item -ItemType Directory -Path $TempPath) | out-null;
Write-Host Downloading the archive...;
(New-Object Net.WebClient).DownloadFile("https://github.com/JonnyBro/beatrun/archive/refs/heads/main.zip", $ZIPPath);
Write-Host Done! Now unarchiving it.;
Write-Host Downloaded! Unpacking...;
Expand-Archive $ZIPPath $TempPath -Force;
Write-Host Done!;
Write-Host Unpacked successfully!;
Rename-Item $FolderMainPath $FolderPath;
Remove-Item $ZIPPath;

View file

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View file

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View file

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 180 KiB

View file

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View file

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View file

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View file

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

View file

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View file

Before

Width:  |  Height:  |  Size: 538 KiB

After

Width:  |  Height:  |  Size: 538 KiB

View file

Before

Width:  |  Height:  |  Size: 770 KiB

After

Width:  |  Height:  |  Size: 770 KiB

View file

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 189 KiB

After

Width:  |  Height:  |  Size: 189 KiB

View file

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

View file

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

15
svelte.config.js Normal file
View file

@ -0,0 +1,15 @@
import adapter from '@sveltejs/adapter-static';
export default {
kit: {
adapter: adapter({
// default options are shown. On some platforms
// these options are set automatically — see below
pages: 'build',
assets: 'build',
fallback: null,
precompress: false,
strict: true
})
}
};

View file

@ -1,86 +0,0 @@
{
".svelte-kit/generated/nodes/2.js": {
"file": "_app/immutable/chunks/2-f812528f.js",
"src": ".svelte-kit/generated/nodes/2.js",
"isDynamicEntry": true,
"imports": [
"src/routes/+page.svelte"
]
},
"src/routes/+layout.js": {
"file": "_app/immutable/modules/pages/_layout.js-9cbb603b.js",
"src": "src/routes/+layout.js",
"isEntry": true,
"imports": [
"__layout-da46b06b.js"
]
},
"__layout-da46b06b.js": {
"file": "_app/immutable/chunks/_layout-da46b06b.js"
},
".svelte-kit/generated/nodes/1.js": {
"file": "_app/immutable/chunks/1-93107ace.js",
"src": ".svelte-kit/generated/nodes/1.js",
"isDynamicEntry": true,
"imports": [
"node_modules/@sveltejs/kit/src/runtime/components/error.svelte"
]
},
".svelte-kit/generated/nodes/0.js": {
"file": "_app/immutable/chunks/0-45185e62.js",
"src": ".svelte-kit/generated/nodes/0.js",
"isDynamicEntry": true,
"imports": [
"__layout-da46b06b.js",
"node_modules/@sveltejs/kit/src/runtime/components/layout.svelte"
]
},
"_singletons-b768face.js": {
"file": "_app/immutable/chunks/singletons-b768face.js",
"imports": [
"_index-1f5fb370.js"
]
},
"node_modules/@sveltejs/kit/src/runtime/components/error.svelte": {
"file": "_app/immutable/components/error.svelte-cf040f97.js",
"src": "node_modules/@sveltejs/kit/src/runtime/components/error.svelte",
"isEntry": true,
"imports": [
"_index-1f5fb370.js",
"_singletons-b768face.js"
]
},
"node_modules/@sveltejs/kit/src/runtime/components/layout.svelte": {
"file": "_app/immutable/components/layout.svelte-81b25a9c.js",
"src": "node_modules/@sveltejs/kit/src/runtime/components/layout.svelte",
"isEntry": true,
"imports": [
"_index-1f5fb370.js"
]
},
"_index-1f5fb370.js": {
"file": "_app/immutable/chunks/index-1f5fb370.js"
},
"src/routes/+page.svelte": {
"file": "_app/immutable/components/pages/_page.svelte-7d3b4c8a.js",
"src": "src/routes/+page.svelte",
"isEntry": true,
"imports": [
"_index-1f5fb370.js"
]
},
"node_modules/@sveltejs/kit/src/runtime/client/start.js": {
"file": "_app/immutable/start-1d7bffac.js",
"src": "node_modules/@sveltejs/kit/src/runtime/client/start.js",
"isEntry": true,
"imports": [
"_index-1f5fb370.js",
"_singletons-b768face.js"
],
"dynamicImports": [
".svelte-kit/generated/nodes/0.js",
".svelte-kit/generated/nodes/1.js",
".svelte-kit/generated/nodes/2.js"
]
}
}

8
vite.config.js Normal file
View file

@ -0,0 +1,8 @@
import { sveltekit } from '@sveltejs/kit/vite';
/** @type {import('vite').UserConfig} */
const config = {
plugins: [sveltekit()],
};
export default config;