Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/cloud sync #1017

Draft
wants to merge 105 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
8fb62af
feature: wip-game-achievements
JackEnx May 8, 2024
500cd2a
feat: saving achievements on open launcher
zamitto Sep 24, 2024
5b0cf1e
feat: handle user not logged in error
zamitto Sep 24, 2024
7e3cf0a
feat: starting showing local achievements
zamitto Sep 24, 2024
f3a5f90
feat: save achievements cache
zamitto Sep 24, 2024
f98432f
feat: refactor game achievement table
zamitto Sep 24, 2024
e64a414
feat: adding cloud sync
thegrannychaseroperation Sep 25, 2024
b87aade
ci: pointing build to staging
thegrannychaseroperation Sep 25, 2024
0ea7329
fix: fixing chmod for windows on postinstall
thegrannychaseroperation Sep 25, 2024
2d7aef3
Merge branch 'main' into feature/cloud-sync
thegrannychaseroperation Sep 25, 2024
89b830f
feat: clearing backup history on sign out
thegrannychaseroperation Sep 25, 2024
3e165e0
fix: adding no backup preview condition
thegrannychaseroperation Sep 25, 2024
32fa696
Merge branch 'feature/cloud-sync' of github.com:hydralauncher/hydra i…
thegrannychaseroperation Sep 25, 2024
25cfdb5
feat: refactor
zamitto Sep 25, 2024
9b5e13a
feat: adding i18n for cloud sync
thegrannychaseroperation Sep 25, 2024
5b9d860
feat: adding i18n for cloud sync
thegrannychaseroperation Sep 25, 2024
24d21b9
feat: use different db for staging build
zamitto Sep 26, 2024
5c790ed
feat: real time achievement track
zamitto Sep 26, 2024
c72eefd
feat: notifications
zamitto Sep 26, 2024
780ab5f
feat: refactor
zamitto Sep 26, 2024
08fbd4c
feat: fix notification icons
zamitto Sep 26, 2024
50b34dc
feat: add catch
zamitto Sep 26, 2024
54dae87
feat: grayscale and update game details context on achievement event
zamitto Sep 26, 2024
d7c0524
feat: merge achievements with remote
zamitto Sep 26, 2024
753a293
feat: remove notification spam
zamitto Sep 27, 2024
bdba3dd
feat: browser window for notification
zamitto Sep 27, 2024
4bf25f8
feat: adjust notifications code
zamitto Sep 27, 2024
8442066
fix: import
zamitto Sep 27, 2024
55a92fd
docs: moving readme
thegrannychaseroperation Sep 27, 2024
ac9565f
Merge branch 'main' of github.com:hydralauncher/hydra into feature/cl…
thegrannychaseroperation Sep 27, 2024
eebd09c
feat: adding logger
thegrannychaseroperation Sep 27, 2024
790f7a2
feat: adding logger
thegrannychaseroperation Sep 27, 2024
202751d
feat: adding logger
thegrannychaseroperation Sep 27, 2024
eda47fc
Merge branch 'main' into feature/game-achievements
zamitto Sep 27, 2024
586df61
feat: removing session interception from auth
thegrannychaseroperation Sep 27, 2024
333b143
feat: route adjustment
zamitto Sep 29, 2024
a48e269
feat: adjustment update achievements on api
zamitto Sep 29, 2024
a031049
feat: adjustments
zamitto Sep 29, 2024
f6ce6ed
feat: logs
zamitto Oct 1, 2024
92b0ced
feat: logs
zamitto Oct 1, 2024
084b7f5
chore: bump libraries
zamitto Oct 1, 2024
c18c41a
feat: update achievement audio and refactors
zamitto Oct 1, 2024
44e59a5
feat: refactoring achievements watcher
zamitto Oct 2, 2024
8f9508c
chore: bump libraries
zamitto Oct 1, 2024
6a0f47e
feat: use uppercase
zamitto Oct 2, 2024
05652d9
feat: refactor watcher
zamitto Oct 2, 2024
d5b1bcd
fix: adjustment to get achievements when file is created after watche…
zamitto Oct 2, 2024
ef4844b
Merge branch 'feature/game-achievements' into chore/test-preview
zamitto Oct 2, 2024
beaa919
feat: refactoring notification window
zamitto Oct 2, 2024
cadb9e8
feat: add GSE Saves
zamitto Oct 3, 2024
f0e0aba
feat: showing achievements queue
zamitto Oct 3, 2024
8b5ed96
Merge branch 'feature/game-achievements' into chore/test-preview
zamitto Oct 3, 2024
9c7651d
feat: dev tools
zamitto Oct 3, 2024
5da9eb6
Merge branch 'feature/game-achievements' into chore/test-preview
zamitto Oct 3, 2024
7cddcd8
feat: refactoring code
zamitto Oct 3, 2024
7e2d931
feat: achievement animation
zamitto Oct 3, 2024
9731035
feat: searching new folders
zamitto Oct 3, 2024
3ed4547
Merge branch 'feature/game-achievements' into chore/test-preview
zamitto Oct 4, 2024
9b93235
feat: increase notification time
zamitto Oct 4, 2024
0895e9e
Merge branch 'feature/game-achievements' into chore/test-preview
zamitto Oct 4, 2024
241d769
feat: add new rld folder
zamitto Oct 4, 2024
0acb0fd
feat: add more folders and organize code
zamitto Oct 4, 2024
e4ca3d3
Merge branch 'feature/game-achievements' into chore/test-preview
zamitto Oct 4, 2024
94e2421
fix: file location
zamitto Oct 4, 2024
d27ce97
Merge branch 'feature/game-achievements' into chore/test-preview
zamitto Oct 4, 2024
81e2bda
chore: add preview on version
zamitto Oct 4, 2024
5e313a0
feat: add 3dm file inside game directory
zamitto Oct 4, 2024
035e424
feat: adding change hero
thegrannychaseroperation Oct 5, 2024
4222fce
feat: adding change hero
thegrannychaseroperation Oct 5, 2024
58502ae
feat: adding change hero
thegrannychaseroperation Oct 5, 2024
0873c8e
fix: fixing windows path replacement
thegrannychaseroperation Oct 5, 2024
bcbe6c9
updating current home dir
thegrannychaseroperation Oct 5, 2024
b99dbe8
adding mkdir for backup path
thegrannychaseroperation Oct 5, 2024
9391b7e
feat: removing directory sync
thegrannychaseroperation Oct 5, 2024
2a6b757
feat: get achievement from game directory on launch
zamitto Oct 5, 2024
f6acfa4
feat: removing existing directory
thegrannychaseroperation Oct 5, 2024
0222121
fix: fixing multiple folders
thegrannychaseroperation Oct 5, 2024
71e7f1e
fix: process user_stats.ini
zamitto Oct 5, 2024
0020281
feat: try add FLT and fix possible bug on unlockedAchievements
zamitto Oct 6, 2024
57118ec
feat: add rle folder
zamitto Oct 6, 2024
1ea64d7
fix: file not being processed if it was created after watcher started
zamitto Oct 6, 2024
f5da836
feat: remove unneeded log persist
zamitto Oct 6, 2024
456e7ed
feat: add alternative objectIds
zamitto Oct 6, 2024
5d21adc
wip: get alternate objectIds
zamitto Oct 6, 2024
af83152
feat: creamapi process
zamitto Oct 6, 2024
7f09a77
feat: remove awaits
zamitto Oct 6, 2024
7c9c278
feat: add dodi folder
zamitto Oct 7, 2024
6d4f957
feat: add achievement section title
zamitto Oct 7, 2024
baafc6c
feat: adding hltb key extraction
thegrannychaseroperation Oct 7, 2024
75be6e5
feat: adding hltb key extraction
thegrannychaseroperation Oct 7, 2024
39af661
feat: create achievements page
zamitto Oct 7, 2024
9405b0d
fix: removing backup folder before uploading
thegrannychaseroperation Oct 7, 2024
0f1ed20
fix: removing backup folder before uploading
thegrannychaseroperation Oct 7, 2024
e93088e
Merge branch 'feature/cloud-sync' into feature/game-achievements
zamitto Oct 7, 2024
f5445b0
Merge branch 'feature/cloud-sync' into feature/game-achievements
zamitto Oct 7, 2024
63aee44
feat: refactor achievement listeners
zamitto Oct 7, 2024
fca585d
feat: preview version of achievements screen
zamitto Oct 7, 2024
1705b89
fix: normalizing windows paths
thegrannychaseroperation Oct 8, 2024
a557735
feat: update hook dependency
zamitto Oct 8, 2024
1bba8c8
Merge branch 'feature/cloud-sync' into feature/game-achievements
zamitto Oct 8, 2024
365178b
fix: update normalize path
zamitto Oct 8, 2024
bcca701
feat: adding drive mapping
thegrannychaseroperation Oct 8, 2024
16cd5b4
feat: adding drive mapping
thegrannychaseroperation Oct 8, 2024
446b03e
feat: removing documents mapping
thegrannychaseroperation Oct 8, 2024
e3f61bb
fix: fixing games with :
thegrannychaseroperation Oct 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ jobs:
sudo apt-get install -y libarchive-tools
yarn build:linux
env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }}
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_STAGING_API_URL }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_STAGING_AUTH_URL }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -50,8 +50,8 @@ jobs:
if: matrix.os == 'windows-latest'
run: yarn build:win
env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }}
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_STAGING_API_URL }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_STAGING_AUTH_URL }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,22 @@ jobs:
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create artifact
uses: actions/upload-artifact@v4
with:
name: Build-${{ matrix.os }}
path: |
dist/win-unpacked/**
dist/*-portable.exe
dist/*.zip
dist/*.dmg
dist/*.deb
dist/*.rpm
dist/*.tar.gz
dist/*.yml
dist/*.blockmap
dist/*.pacman
- name: Release
uses: softprops/action-gh-release@v1
with:
Expand Down
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.vscode
node_modules
.vscode/
node_modules/
hydra-download-manager/
fastlist.exe
__pycache__
Expand All @@ -10,3 +10,4 @@ out
.env
.vite
sentry.properties
ludusavi/
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,20 @@
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions)
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)

[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
[![es](https://img.shields.io/badge/lang-es-red)](README.es.md)
[![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md)
[![de](https://img.shields.io/badge/lang-de-black)](README.de.md)
[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md)
[![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Catalogue](./docs/screenshot.png)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](./README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](./README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](./README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](./README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](./README.be.md)
[![es](https://img.shields.io/badge/lang-es-red)](./README.es.md)
[![fr](https://img.shields.io/badge/lang-fr-blue)](./README.fr.md)
[![de](https://img.shields.io/badge/lang-de-black)](./README.de.md)
[![ita](https://img.shields.io/badge/lang-it-red)](./README.it.md)
[![cs](https://img.shields.io/badge/lang-cs-purple)](./README.cs.md)
[![da](https://img.shields.io/badge/lang-da-red)](./README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](./README.nb.md)

![Hydra Catalogue](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.be.md → docs/README.be.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.cs.md → docs/README.cs.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Katalog](./docs/screenshot.png)
![Hydra Katalog](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.da.md → docs/README.da.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
[![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)

![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.de.md → docs/README.de.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Katalog](./docs/screenshot.png)
![Hydra Katalog](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.es.md → docs/README.es.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.fr.md → docs/README.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Catalogue Hydra](./docs/screenshot.png)
![Catalogue Hydra](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.it.md → docs/README.it.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.nb.md → docs/README.nb.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
[![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.pl.md → docs/README.pl.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.pt-BR.md → docs/README.pt-BR.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.ru.md → docs/README.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)

</div>

Expand Down
2 changes: 1 addition & 1 deletion README.uk-UA.md → docs/README.uk-UA.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)

![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)

</div>

Expand Down
1 change: 1 addition & 0 deletions electron-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ productName: Hydra
directories:
buildResources: build
extraResources:
- ludusavi
- hydra-download-manager
- seeds
- from: node_modules/create-desktop-shortcuts/src/windows.vbs
Expand Down
14 changes: 8 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "hydralauncher",
"version": "2.1.7",
"version": "2.1.7-preview",
"description": "Hydra",
"main": "./out/main/index.js",
"author": "Los Broxas",
Expand All @@ -23,7 +23,7 @@
"start": "electron-vite preview",
"dev": "electron-vite dev",
"build": "npm run typecheck && electron-vite build",
"postinstall": "electron-builder install-app-deps",
"postinstall": "electron-builder install-app-deps && node ./postinstall.cjs",
"build:unpack": "npm run build && electron-builder --dir",
"build:win": "electron-vite build && electron-builder --win",
"build:mac": "electron-vite build && electron-builder --mac",
Expand All @@ -44,16 +44,16 @@
"@vanilla-extract/recipes": "^0.5.2",
"auto-launch": "^5.0.6",
"axios": "^1.7.7",
"better-sqlite3": "^11.2.1",
"better-sqlite3": "^11.3.0",
"check-disk-space": "^3.4.0",
"classnames": "^2.5.1",
"color": "^4.2.3",
"color.js": "^1.2.0",
"create-desktop-shortcuts": "^1.11.0",
"date-fns": "^3.6.0",
"dexie": "^4.0.8",
"electron-log": "^5.1.4",
"electron-updater": "^6.1.8",
"electron-log": "^5.2.0",
"electron-updater": "^6.3.4",
"fetch-cookie": "^3.0.1",
"flexsearch": "^0.7.43",
"i18next": "^23.11.2",
Expand All @@ -72,6 +72,7 @@
"react-redux": "^9.1.1",
"react-router-dom": "^6.22.3",
"sudo-prompt": "^9.2.1",
"tar": "^7.4.3",
"typeorm": "^0.3.20",
"user-agents": "^1.1.193",
"yaml": "^2.4.1",
Expand All @@ -88,6 +89,7 @@
"@swc/core": "^1.4.16",
"@types/auto-launch": "^5.0.5",
"@types/color": "^3.0.6",
"@types/folder-hash": "^4.0.4",
"@types/jsdom": "^21.1.6",
"@types/jsonwebtoken": "^9.0.6",
"@types/lodash-es": "^4.17.12",
Expand All @@ -99,7 +101,7 @@
"@vanilla-extract/vite-plugin": "^4.0.7",
"@vitejs/plugin-react": "^4.2.1",
"electron": "^30.3.0",
"electron-builder": "^24.9.1",
"electron-builder": "^25.1.6",
"electron-vite": "^2.0.0",
"eslint": "^8.56.0",
"eslint-plugin-jsx-a11y": "^6.8.0",
Expand Down
49 changes: 49 additions & 0 deletions postinstall.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
const { default: axios } = require("axios");
const util = require("node:util");
const fs = require("node:fs");
const path = require("node:path");

const exec = util.promisify(require("node:child_process").exec);

const fileName = {
win32: "ludusavi-v0.25.0-win64.zip",
linux: "ludusavi-v0.25.0-linux.zip",
darwin: "ludusavi-v0.25.0-mac.zip",
};

const downloadLudusavi = async () => {
if (fs.existsSync("ludusavi")) {
console.log("Ludusavi already exists, skipping download...");
return;
}

const file = fileName[process.platform];
const downloadUrl = `https://github.com/mtkennerly/ludusavi/releases/download/v0.25.0/${file}`;

console.log(`Downloading ${file}...`);

const response = await axios.get(downloadUrl, { responseType: "stream" });

const stream = response.data.pipe(fs.createWriteStream(file));

stream.on("finish", async () => {
console.log(`Downloaded ${file}, extracting...`);

const pwd = process.cwd();

const targetPath = path.join(pwd, "ludusavi");

await exec(`npx extract-zip ${file} ${targetPath}`);

if (process.platform !== "win32") {
fs.chmodSync(path.join(targetPath, "ludusavi"), 0o755);
}

console.log("Extracted. Renaming folder...");

console.log(`Extracted ${file}, removing compressed downloaded file...`);
fs.rmSync(file);
});
};

downloadLudusavi();
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
libtorrent
cx_Freeze
cx_Logging; sys_platform == 'win32'
lief; sys_platform == 'win32'
pywin32; sys_platform == 'win32'
psutil
Pillow
requests
Binary file added resources/achievement-sound.mp3
Binary file not shown.
24 changes: 22 additions & 2 deletions src/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,22 @@
"download": "Download",
"executable_path_in_use": "Executable already in use by \"{{game}}\"",
"warning": "Warning:",
"hydra_needs_to_remain_open": "for this download, Hydra needs to remain open util its conclusion. In case Hydra closes before the conclusion, you will lose your progress."
"hydra_needs_to_remain_open": "for this download, Hydra needs to remain open util its conclusion. In case Hydra closes before the conclusion, you will lose your progress.",
"achievements": "Achievements {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Cloud save",
"cloud_save_description": "Save your progress in the cloud and continue playing on any device",
"backups": "Backups",
"install_backup": "Install",
"delete_backup": "Delete",
"create_backup": "New backup",
"last_backup_date": "Last backup on {{date}}",
"no_backup_preview": "No save games were found for this title",
"restoring_backup": "Restoring backup ({{progress}} complete)…",
"uploading_backup": "Uploading backup…",
"no_backups": "You haven't created any backups for this game yet",
"backup_uploaded": "Backup uploaded",
"backup_deleted": "Backup deleted",
"backup_restored": "Backup restored"
},
"activation": {
"title": "Activate Hydra",
Expand Down Expand Up @@ -226,7 +241,9 @@
"repack_count_one": "{{count}} repack added",
"repack_count_other": "{{count}} repacks added",
"new_update_available": "Version {{version}} available",
"restart_to_install_update": "Restart Hydra to install the update"
"restart_to_install_update": "Restart Hydra to install the update",
"notification_achievement_unlocked_title": "Achievement unlocked for {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} and other {{count}} were unlocked"
},
"system_tray": {
"open": "Open Hydra",
Expand Down Expand Up @@ -313,5 +330,8 @@
"report_reason_other": "Other",
"profile_reported": "Profile reported",
"your_friend_code": "Your friend code:"
},
"achievement": {
"achievement_unlocked": "Achievement unlocked"
}
}
Loading
Loading