From b4d34a05d1b1d56ecdb07f60bacff37fd37d3b7b Mon Sep 17 00:00:00 2001 From: patty <49377371+patttterson@users.noreply.github.com> Date: Fri, 6 Feb 2026 10:09:50 -0800 Subject: [PATCH 01/28] rename test ci (#2065) --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9165c4332..ac97b2d43 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: Build +name: Test on: [push] From d887ba7fb22bc6f415d7a292e710f6b62f0ca709 Mon Sep 17 00:00:00 2001 From: Ethan Green Date: Wed, 11 Feb 2026 00:15:36 +0200 Subject: [PATCH 02/28] feat: allow shimloader rules to be schema set --- src/installers/ShimloaderInstaller.ts | 73 ++++++--- .../ModLoader/Shimloader.Tests.spec.ts | 150 ++++++++++++++---- 2 files changed, 168 insertions(+), 55 deletions(-) diff --git a/src/installers/ShimloaderInstaller.ts b/src/installers/ShimloaderInstaller.ts index f9f8d3aaf..2ec90adf8 100644 --- a/src/installers/ShimloaderInstaller.ts +++ b/src/installers/ShimloaderInstaller.ts @@ -6,6 +6,8 @@ import FileUtils from "../utils/FileUtils"; import R2Error from "../model/errors/R2Error"; import { InstallRuleInstaller } from "./InstallRuleInstaller"; import { TrackingMethod } from "../model/schema/ThunderstoreSchema"; +import GameManager from "../model/game/GameManager"; +import InstallationRules, { CoreRuleType, RuleSubtype } from "../r2mm/installing/InstallationRules"; export class ShimloaderInstaller implements PackageInstaller { /** @@ -56,32 +58,53 @@ export class ShimloaderInstaller implements PackageInstaller { } } +function getShimloaderDefaultRules(): RuleSubtype[] { + return [ + { + route: path.join("shimloader", "mod"), + isDefaultLocation: true, + defaultFileExtensions: [], + trackingMethod: TrackingMethod.SUBDIR, + subRoutes: [], + }, + { + route: path.join("shimloader", "pak"), + defaultFileExtensions: [], + trackingMethod: TrackingMethod.SUBDIR, + subRoutes: [], + }, + { + route: path.join("shimloader", "cfg"), + defaultFileExtensions: [], + trackingMethod: TrackingMethod.NONE, + subRoutes: [], + } + ]; +} + export class ShimloaderPluginInstaller implements PackageInstaller { - readonly installer = () => new InstallRuleInstaller({ - gameName: "none" as any, // This isn't acutally used for actual installation but needs some value - rules: [ - { - route: path.join("shimloader", "mod"), - isDefaultLocation: true, - defaultFileExtensions: [], - trackingMethod: TrackingMethod.SUBDIR, - subRoutes: [], - }, - { - route: path.join("shimloader", "pak"), - defaultFileExtensions: [], - trackingMethod: TrackingMethod.SUBDIR, - subRoutes: [], - }, - { - route: path.join("shimloader", "cfg"), - defaultFileExtensions: [], - trackingMethod: TrackingMethod.NONE, - subRoutes: [], - } - ], - relativeFileExclusions: null - }); + /** + * Build the install rule set for the current game. If the active game + * defines non-empty installRules in the schema, those take precedence. + * Otherwise the hardcoded shimloader defaults are used. + */ + readonly installer = (): InstallRuleInstaller => { + const schemaRules = this.getSchemaRules(); + const rules = schemaRules.length > 0 ? schemaRules : getShimloaderDefaultRules(); + return new InstallRuleInstaller({ + gameName: GameManager.activeGame.internalFolderName, + rules, + relativeFileExclusions: null, + }); + }; + + private getSchemaRules(): RuleSubtype[] { + const gameName = GameManager.activeGame.internalFolderName; + const coreRule: CoreRuleType | undefined = InstallationRules.RULES.find( + (r) => r.gameName === gameName + ); + return coreRule?.rules ?? []; + } async install(args: InstallArgs) { await this.installer().install(args); diff --git a/test/vitest/tests/unit/Installers/ModLoader/Shimloader.Tests.spec.ts b/test/vitest/tests/unit/Installers/ModLoader/Shimloader.Tests.spec.ts index e5a17c6da..45f393284 100644 --- a/test/vitest/tests/unit/Installers/ModLoader/Shimloader.Tests.spec.ts +++ b/test/vitest/tests/unit/Installers/ModLoader/Shimloader.Tests.spec.ts @@ -9,39 +9,129 @@ import R2Error from '../../../../../../src/model/errors/R2Error'; import Profile from '../../../../../../src/model/Profile'; import ProfileInstallerProvider from '../../../../../../src/providers/ror2/installing/ProfileInstallerProvider'; import GenericProfileInstaller from '../../../../../../src/r2mm/installing/profile_installers/GenericProfileInstaller'; +import InstallationRules from '../../../../../../src/r2mm/installing/InstallationRules'; +import {TrackingMethod} from '../../../../../../src/model/schema/ThunderstoreSchema'; import {describe, beforeEach, test, expect} from 'vitest'; describe('Shimloader Installer Tests', () => { - beforeEach(() => { - installLogicBeforeEach('Palworld'); - } - ); - - test('Installs and uninstalls a package', async () => { - const pkg = createManifest("test_mod", "auth"); - const name = pkg.getName(); - const sourceToExpectedDestination = { - "README.md": `shimloader/mod/${name}/README.md`, - "manifest.json": `shimloader/mod/${name}/manifest.json`, - "icon.png": `shimloader/mod/${name}/icon.png`, - "pak/blueprint.pak": `shimloader/pak/${name}/blueprint.pak`, - "mod/scripts/main.lua": `shimloader/mod/${name}/scripts/main.lua`, - "mod/scripts/other.lua": `shimloader/mod/${name}/scripts/other.lua`, - "mod/dll/mod.dll": `shimloader/mod/${name}/dll/mod.dll`, - "cfg/package.cfg": `shimloader/cfg/package.cfg`, - }; - const expectedAfterUninstall = [ - "shimloader/cfg/package.cfg", - ]; - await createPackageFilesIntoCache(pkg, Object.keys(sourceToExpectedDestination)); - - ProfileInstallerProvider.provide(() => new GenericProfileInstaller()); - await ProfileInstallerProvider.instance.installMod(pkg, Profile.getActiveProfile().asImmutableProfile()); - await expectFilesToBeCopied(sourceToExpectedDestination); - - const result = await ProfileInstallerProvider.instance.uninstallMod(pkg, Profile.getActiveProfile().asImmutableProfile()); - expect(result instanceof R2Error).toBeFalsy(); - expectFilesToBeRemoved(sourceToExpectedDestination, expectedAfterUninstall) + describe('Default rules (no schema installRules)', () => { + + beforeEach(() => { + installLogicBeforeEach('Palworld'); + } + ); + + test('Installs and uninstalls a package', async () => { + const pkg = createManifest("test_mod", "auth"); + const name = pkg.getName(); + const sourceToExpectedDestination = { + "README.md": `shimloader/mod/${name}/README.md`, + "manifest.json": `shimloader/mod/${name}/manifest.json`, + "icon.png": `shimloader/mod/${name}/icon.png`, + "pak/blueprint.pak": `shimloader/pak/${name}/blueprint.pak`, + "mod/scripts/main.lua": `shimloader/mod/${name}/scripts/main.lua`, + "mod/scripts/other.lua": `shimloader/mod/${name}/scripts/other.lua`, + "mod/dll/mod.dll": `shimloader/mod/${name}/dll/mod.dll`, + "cfg/package.cfg": `shimloader/cfg/package.cfg`, + }; + const expectedAfterUninstall = [ + "shimloader/cfg/package.cfg", + ]; + await createPackageFilesIntoCache(pkg, Object.keys(sourceToExpectedDestination)); + + ProfileInstallerProvider.provide(() => new GenericProfileInstaller()); + await ProfileInstallerProvider.instance.installMod(pkg, Profile.getActiveProfile().asImmutableProfile()); + await expectFilesToBeCopied(sourceToExpectedDestination); + + const result = await ProfileInstallerProvider.instance.uninstallMod(pkg, Profile.getActiveProfile().asImmutableProfile()); + expect(result instanceof R2Error).toBeFalsy(); + expectFilesToBeRemoved(sourceToExpectedDestination, expectedAfterUninstall) + }); + + test('Loose .pak files go to shimloader/mod by default', async () => { + const pkg = createManifest("pak_mod", "auth"); + const name = pkg.getName(); + const sourceToExpectedDestination = { + "manifest.json": `shimloader/mod/${name}/manifest.json`, + "icon.png": `shimloader/mod/${name}/icon.png`, + "loose_mod.pak": `shimloader/mod/${name}/loose_mod.pak`, + }; + await createPackageFilesIntoCache(pkg, Object.keys(sourceToExpectedDestination)); + + ProfileInstallerProvider.provide(() => new GenericProfileInstaller()); + await ProfileInstallerProvider.instance.installMod(pkg, Profile.getActiveProfile().asImmutableProfile()); + await expectFilesToBeCopied(sourceToExpectedDestination); + }); + }); + + describe('Schema-defined installRules override', () => { + + beforeEach(async () => { + await installLogicBeforeEach('Palworld'); + + // Override the schema rules for Palworld to simulate a game that + // defines custom shimloader install rules (e.g. routing loose .pak + // files to shimloader/pak via defaultFileExtensions). + const existingRules = InstallationRules.RULES; + const palworldIdx = existingRules.findIndex(r => r.gameName === 'Palworld'); + existingRules[palworldIdx] = { + gameName: 'Palworld', + rules: [ + { + route: 'shimloader/mod', + isDefaultLocation: true, + defaultFileExtensions: [], + trackingMethod: TrackingMethod.SUBDIR, + subRoutes: [], + }, + { + route: 'shimloader/pak', + defaultFileExtensions: ['pak'], + trackingMethod: TrackingMethod.SUBDIR, + subRoutes: [], + }, + { + route: 'shimloader/cfg', + defaultFileExtensions: [], + trackingMethod: TrackingMethod.NONE, + subRoutes: [], + }, + ], + relativeFileExclusions: null, + }; + InstallationRules.RULES = existingRules; + }); + + test('Loose .pak files route to shimloader/pak when schema defines pak extension', async () => { + const pkg = createManifest("pak_mod", "auth"); + const name = pkg.getName(); + const sourceToExpectedDestination = { + "manifest.json": `shimloader/mod/${name}/manifest.json`, + "icon.png": `shimloader/mod/${name}/icon.png`, + "loose_mod.pak": `shimloader/pak/${name}/loose_mod.pak`, + }; + await createPackageFilesIntoCache(pkg, Object.keys(sourceToExpectedDestination)); + + ProfileInstallerProvider.provide(() => new GenericProfileInstaller()); + await ProfileInstallerProvider.instance.installMod(pkg, Profile.getActiveProfile().asImmutableProfile()); + await expectFilesToBeCopied(sourceToExpectedDestination); + }); + + test('Subdirectory pak files still route to shimloader/pak', async () => { + const pkg = createManifest("pak_subdir_mod", "auth"); + const name = pkg.getName(); + const sourceToExpectedDestination = { + "manifest.json": `shimloader/mod/${name}/manifest.json`, + "pak/blueprint.pak": `shimloader/pak/${name}/blueprint.pak`, + "mod/scripts/main.lua": `shimloader/mod/${name}/scripts/main.lua`, + "cfg/package.cfg": `shimloader/cfg/package.cfg`, + }; + await createPackageFilesIntoCache(pkg, Object.keys(sourceToExpectedDestination)); + + ProfileInstallerProvider.provide(() => new GenericProfileInstaller()); + await ProfileInstallerProvider.instance.installMod(pkg, Profile.getActiveProfile().asImmutableProfile()); + await expectFilesToBeCopied(sourceToExpectedDestination); + }); }); }); From 44c7a8e31e23b3e0d11ee4fb4b4b31619721e4b3 Mon Sep 17 00:00:00 2001 From: Ethan Green Date: Fri, 13 Feb 2026 05:04:47 +0200 Subject: [PATCH 03/28] fix: remove shimloader override capability Replaces the shimloader install rule override functionality with... nothing, those rules should be provided by the ecosystem schema instead. This commit breaks all shimloader games until the cooresponding schema PR is merged. --- src/installers/ShimloaderInstaller.ts | 57 ----------- src/installers/registry.ts | 6 +- .../GenericProfileInstaller.ts | 6 +- .../ModLoader/Shimloader.Tests.spec.ts | 95 ++++++++++--------- 4 files changed, 55 insertions(+), 109 deletions(-) diff --git a/src/installers/ShimloaderInstaller.ts b/src/installers/ShimloaderInstaller.ts index 2ec90adf8..10ec475b0 100644 --- a/src/installers/ShimloaderInstaller.ts +++ b/src/installers/ShimloaderInstaller.ts @@ -4,10 +4,6 @@ import FsProvider from "../providers/generic/file/FsProvider"; import FileTree from "../model/file/FileTree"; import FileUtils from "../utils/FileUtils"; import R2Error from "../model/errors/R2Error"; -import { InstallRuleInstaller } from "./InstallRuleInstaller"; -import { TrackingMethod } from "../model/schema/ThunderstoreSchema"; -import GameManager from "../model/game/GameManager"; -import InstallationRules, { CoreRuleType, RuleSubtype } from "../r2mm/installing/InstallationRules"; export class ShimloaderInstaller implements PackageInstaller { /** @@ -57,56 +53,3 @@ export class ShimloaderInstaller implements PackageInstaller { } } } - -function getShimloaderDefaultRules(): RuleSubtype[] { - return [ - { - route: path.join("shimloader", "mod"), - isDefaultLocation: true, - defaultFileExtensions: [], - trackingMethod: TrackingMethod.SUBDIR, - subRoutes: [], - }, - { - route: path.join("shimloader", "pak"), - defaultFileExtensions: [], - trackingMethod: TrackingMethod.SUBDIR, - subRoutes: [], - }, - { - route: path.join("shimloader", "cfg"), - defaultFileExtensions: [], - trackingMethod: TrackingMethod.NONE, - subRoutes: [], - } - ]; -} - -export class ShimloaderPluginInstaller implements PackageInstaller { - /** - * Build the install rule set for the current game. If the active game - * defines non-empty installRules in the schema, those take precedence. - * Otherwise the hardcoded shimloader defaults are used. - */ - readonly installer = (): InstallRuleInstaller => { - const schemaRules = this.getSchemaRules(); - const rules = schemaRules.length > 0 ? schemaRules : getShimloaderDefaultRules(); - return new InstallRuleInstaller({ - gameName: GameManager.activeGame.internalFolderName, - rules, - relativeFileExclusions: null, - }); - }; - - private getSchemaRules(): RuleSubtype[] { - const gameName = GameManager.activeGame.internalFolderName; - const coreRule: CoreRuleType | undefined = InstallationRules.RULES.find( - (r) => r.gameName === gameName - ); - return coreRule?.rules ?? []; - } - - async install(args: InstallArgs) { - await this.installer().install(args); - } -} diff --git a/src/installers/registry.ts b/src/installers/registry.ts index 1bbf57f7e..b75359353 100644 --- a/src/installers/registry.ts +++ b/src/installers/registry.ts @@ -2,7 +2,7 @@ import { BepInExInstaller } from './BepInExInstaller'; import { GodotMLInstaller } from './GodotMLInstaller'; import { MelonLoaderInstaller } from './MelonLoaderInstaller'; import { PackageInstaller } from './PackageInstaller'; -import { ShimloaderInstaller, ShimloaderPluginInstaller } from './ShimloaderInstaller'; +import { ShimloaderInstaller } from './ShimloaderInstaller'; import { LovelyInstaller, LovelyPluginInstaller } from './LovelyInstaller'; import { NorthstarInstaller } from './NorthstarInstaller'; import { ReturnOfModdingInstaller, ReturnOfModdingPluginInstaller } from './ReturnOfModdingInstaller'; @@ -46,7 +46,7 @@ export function getPackageLoaderInstaller(loader: PackageLoader): PackageInstall /** * Plugin installer registry */ -type InstallRuleInstallers = PackageLoader.BEPINEX | PackageLoader.BEPISLOADER | PackageLoader.GODOTML | PackageLoader.MELONLOADER | PackageLoader.NORTHSTAR | PackageLoader.UMM; +type InstallRuleInstallers = PackageLoader.BEPINEX | PackageLoader.BEPISLOADER | PackageLoader.GODOTML | PackageLoader.MELONLOADER | PackageLoader.NORTHSTAR | PackageLoader.SHIMLOADER | PackageLoader.UMM; type PluginInstallers = Exclude; const PluginInstallers: Record = { @@ -55,7 +55,6 @@ const PluginInstallers: Record = { [PackageLoader.NONE]: new DirectCopyInstaller(), [PackageLoader.RECURSIVE_MELONLOADER]: new RecursiveMelonLoaderPluginInstaller(), [PackageLoader.RETURN_OF_MODDING]: new ReturnOfModdingPluginInstaller(), - [PackageLoader.SHIMLOADER]: new ShimloaderPluginInstaller(), [PackageLoader.RIVET]: new RivetPluginInstaller(), }; @@ -66,6 +65,7 @@ function isPluginInstaller(loader: PackageLoader): loader is PluginInstallers { loader === PackageLoader.GODOTML || loader === PackageLoader.MELONLOADER || loader === PackageLoader.NORTHSTAR || + loader === PackageLoader.SHIMLOADER || loader === PackageLoader.UMM ); } diff --git a/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts b/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts index 353d3ad29..2507d26f6 100644 --- a/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts +++ b/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts @@ -19,7 +19,6 @@ import FileUtils from '../../../utils/FileUtils'; import { getPackageLoaderInstaller, getPluginInstaller } from "../../../installers/registry"; import { InstallArgs, PackageInstaller } from "../../../installers/PackageInstaller"; import { InstallRuleInstaller } from "../../../installers/InstallRuleInstaller"; -import { ShimloaderPluginInstaller } from "../../../installers/ShimloaderInstaller"; import { ReturnOfModdingPluginInstaller } from "../../../installers/ReturnOfModdingInstaller"; import { TrackingMethod } from '../../../model/schema/ThunderstoreSchema'; @@ -44,10 +43,7 @@ export default class GenericProfileInstaller extends ProfileInstallerProvider { // known case. let rule = this.rule; const installer = getPluginInstaller(GameManager.activeGame.packageLoader); - if ( - installer instanceof ShimloaderPluginInstaller || - installer instanceof ReturnOfModdingPluginInstaller - ) { + if (installer instanceof ReturnOfModdingPluginInstaller) { rule = installer.installer().rule; } if (!rule) { diff --git a/test/vitest/tests/unit/Installers/ModLoader/Shimloader.Tests.spec.ts b/test/vitest/tests/unit/Installers/ModLoader/Shimloader.Tests.spec.ts index 45f393284..20ad7d178 100644 --- a/test/vitest/tests/unit/Installers/ModLoader/Shimloader.Tests.spec.ts +++ b/test/vitest/tests/unit/Installers/ModLoader/Shimloader.Tests.spec.ts @@ -9,18 +9,56 @@ import R2Error from '../../../../../../src/model/errors/R2Error'; import Profile from '../../../../../../src/model/Profile'; import ProfileInstallerProvider from '../../../../../../src/providers/ror2/installing/ProfileInstallerProvider'; import GenericProfileInstaller from '../../../../../../src/r2mm/installing/profile_installers/GenericProfileInstaller'; -import InstallationRules from '../../../../../../src/r2mm/installing/InstallationRules'; -import {TrackingMethod} from '../../../../../../src/model/schema/ThunderstoreSchema'; +import InstallationRules, { RuleSubtype } from '../../../../../../src/r2mm/installing/InstallationRules'; +import { TrackingMethod } from '../../../../../../src/model/schema/ThunderstoreSchema'; import {describe, beforeEach, test, expect} from 'vitest'; -describe('Shimloader Installer Tests', () => { +function getShimloaderRules(includePakExtension: boolean): RuleSubtype[] { + return [ + { + route: 'shimloader/mod', + isDefaultLocation: true, + defaultFileExtensions: [], + trackingMethod: TrackingMethod.SUBDIR, + subRoutes: [], + }, + { + route: 'shimloader/pak', + defaultFileExtensions: includePakExtension ? ['pak'] : [], + trackingMethod: TrackingMethod.SUBDIR, + subRoutes: [], + }, + { + route: 'shimloader/cfg', + defaultFileExtensions: [], + trackingMethod: TrackingMethod.NONE, + subRoutes: [], + }, + ]; +} + +function setPalworldInstallRules(rules: RuleSubtype[]) { + const existingRules = InstallationRules.RULES; + const palworldIdx = existingRules.findIndex((rule) => rule.gameName === 'Palworld'); + + if (palworldIdx === -1) { + throw new Error('Palworld install rules not found'); + } - describe('Default rules (no schema installRules)', () => { + existingRules[palworldIdx] = { + ...existingRules[palworldIdx], + rules, + }; + InstallationRules.RULES = existingRules; +} + +describe('Shimloader Installer Tests', () => { + describe('Schema-defined installRules', () => { - beforeEach(() => { - installLogicBeforeEach('Palworld'); - } - ); + beforeEach(async () => { + await installLogicBeforeEach('Palworld'); + setPalworldInstallRules(getShimloaderRules(false)); + }); test('Installs and uninstalls a package', async () => { const pkg = createManifest("test_mod", "auth"); @@ -46,10 +84,10 @@ describe('Shimloader Installer Tests', () => { const result = await ProfileInstallerProvider.instance.uninstallMod(pkg, Profile.getActiveProfile().asImmutableProfile()); expect(result instanceof R2Error).toBeFalsy(); - expectFilesToBeRemoved(sourceToExpectedDestination, expectedAfterUninstall) + await expectFilesToBeRemoved(sourceToExpectedDestination, expectedAfterUninstall); }); - test('Loose .pak files go to shimloader/mod by default', async () => { + test('Loose .pak files route to schema default location when no extension rule exists', async () => { const pkg = createManifest("pak_mod", "auth"); const name = pkg.getName(); const sourceToExpectedDestination = { @@ -65,45 +103,14 @@ describe('Shimloader Installer Tests', () => { }); }); - describe('Schema-defined installRules override', () => { + describe('Schema-defined installRules with pak extension rule', () => { beforeEach(async () => { await installLogicBeforeEach('Palworld'); - - // Override the schema rules for Palworld to simulate a game that - // defines custom shimloader install rules (e.g. routing loose .pak - // files to shimloader/pak via defaultFileExtensions). - const existingRules = InstallationRules.RULES; - const palworldIdx = existingRules.findIndex(r => r.gameName === 'Palworld'); - existingRules[palworldIdx] = { - gameName: 'Palworld', - rules: [ - { - route: 'shimloader/mod', - isDefaultLocation: true, - defaultFileExtensions: [], - trackingMethod: TrackingMethod.SUBDIR, - subRoutes: [], - }, - { - route: 'shimloader/pak', - defaultFileExtensions: ['pak'], - trackingMethod: TrackingMethod.SUBDIR, - subRoutes: [], - }, - { - route: 'shimloader/cfg', - defaultFileExtensions: [], - trackingMethod: TrackingMethod.NONE, - subRoutes: [], - }, - ], - relativeFileExclusions: null, - }; - InstallationRules.RULES = existingRules; + setPalworldInstallRules(getShimloaderRules(true)); }); - test('Loose .pak files route to shimloader/pak when schema defines pak extension', async () => { + test('Loose .pak files route to shimloader/pak when schema defines .pak extension', async () => { const pkg = createManifest("pak_mod", "auth"); const name = pkg.getName(); const sourceToExpectedDestination = { From badece1ab867556861a757570af35272fa16be5d Mon Sep 17 00:00:00 2001 From: Ethan Green Date: Mon, 16 Feb 2026 08:08:44 +0200 Subject: [PATCH 04/28] Add four new games and updated shimloader fields - Astroneer - Deadly Delivery - Granny: Chapter Two - Soulcalibur VI --- public/images/game_selection/astroneer.webp | Bin 0 -> 18198 bytes .../game_selection/deadly-delivery.webp | Bin 0 -> 54276 bytes .../game_selection/granny-chapter-two.webp | Bin 0 -> 31994 bytes .../images/game_selection/soulcalibur-vi.webp | Bin 0 -> 49300 bytes src/assets/data/ecosystem.json | 830 +++++++++++++++++- 5 files changed, 788 insertions(+), 42 deletions(-) create mode 100644 public/images/game_selection/astroneer.webp create mode 100644 public/images/game_selection/deadly-delivery.webp create mode 100644 public/images/game_selection/granny-chapter-two.webp create mode 100644 public/images/game_selection/soulcalibur-vi.webp diff --git a/public/images/game_selection/astroneer.webp b/public/images/game_selection/astroneer.webp new file mode 100644 index 0000000000000000000000000000000000000000..c078ff8c6dd4f2669af8045c2129e3c84b9bdf81 GIT binary patch literal 18198 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%0Am1i(#L=u#m6G0d7 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�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%0Dvn9o)1}fxr?V8dmU_13KV4&w^t#f?iZ2ujl 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 NuVxW%1u!mv003E$D6aqj literal 0 HcmV?d00001 diff --git a/public/images/game_selection/granny-chapter-two.webp b/public/images/game_selection/granny-chapter-two.webp new file mode 100644 index 0000000000000000000000000000000000000000..a2186f41b5f4c6d3f503ec8c5806a1cd130f1db8 GIT binary patch literal 31994 zcmV(rK<>X%Nk&HUd;kDfMM6+kP&gpwd;kE@*a4jZDrf=V0X{Jni9@0x2}L&G5CMW( zTZ$z_p&|)#Bj5Iz58UsBKCgNDga763Ke)WtU&H>tuMg}yzC6nQ-1@_Ma{nXh0sYg{ z2i9xRAI^u?Yx`&ZKT54ZUzYh6`SQI|C{}f%Qjp4RR5>Y zujgNiKS%yg_N)9C?kC=#z26;wW&76k8vOVAr};ncU$?*C|8Tu@JO%D|{U1>uaz45K zbNom7kN7{|egMA@{zv6!@Bhs|s{fq-k@=bZmfB*am z{$u@P{m1v;^FR52$$$U<<@c-qyWJ=5cmKb0zt_M1MK2w9y*95U{KC2(=>^9Srr+9q z06D%slDn^TBAWEY6PrE2lR?}6vI#a~pP$$r@#UOgi@;rWoui(9S6y$D8DL}M-99JU zd~$%5u=SA;T(tgWLqRgPSYL+Cl&nd%I^jtx`Ukddy!e5!4UN(CJr4)B>I#3ML}nYIKp8Cs zEBTUs8;Qw8+_gEI#El+|3TO-)u1;_*1MX$gKL8#qg(U}%T8hI?-5(D#XTXzcg(=?i1lVp@v`mq z4Uf!_Rn{WVGErTRXq>dJA0-`i6dZuCp8AFiP7xnwJuI~|MTq6_kggl)3orP@S876; zIMN{^c5nU2=-bGQgiFy^wOXM=SoKRKN#O}!e#SOSrm2++5db$qv}55%URCmEU+g;6 zDU3J{W9xn$KJOZkeq-3g#f9+@Jn`TC*%y?oQvE-t8o1LHgyi{>ybmbV|hCNd2Z_Q$ri>d?8d07BZac6O4|l<2wvD{+(_qJGtV z&nKvr6zYc722UAgF*}UgSQ61Mhdz*v!C#-T%_2OKr+9w>&#v(PfGh|(`JcXBj=>B> zU971R?T^WgdMel=i{>1o16~I9)v3SF@Yt)t?C5qnL6a;G?T;`*AC*7xLnX0w`;+TP z#ScrgN62%Ev2sq#Y3EJ+@Za!*5vjJwPM0=~y=pE8{6X^DJKBBCb4-@hdK5%P6Xp&x z*8`6<8&wI@snP{%ljA4Hr*64E8p(`NLOa?D5xE;Z$TMWCLwII#w{(;7Hcr&hlfupT z<(+_Cvg%VQxnH=-zA}((?YaAr-G%W)5>Kg)QTx}tkO~LoFw#h^6Ayoj?@d*FAwHJe zo+kpw1_wDX$7e%2&mbRsehm!-eRAe-wKf6N>RPg;frR)&oymP5p=ZI>viiNATg6$B znkj5tLUq$Cr`Q9DXduZ7Y#BUSXt8`B!bUh#C ziJsNdX-OzMpLc+t0!>flcqk8Mfuwj?r4<;>%j}yj|D-c5BT#+bItaR3c=MYU1Lw57}L_PZnXBrK4IuWX{zsYN$-*YrkU8GZ}U zEQeEaP9OdO2Q&-@3+&0>>t5VOOOTq4cpaZsM~$}_6z(rShR&ec6g#=|+(ad`#TKd& z1aRW=z76*Tc-9_v{%IJBaArcil37v;?+|?;zMX+s)^`L!!wh-tEX83uhkN*JCYgFg zM3QGf<76Ag`Lc>u!%8-SdMqCrLgMbwR#nf}$v&`YXw8jl^r~?wzUBA-<&Y=kzUs2( znDZjyU9&){@(abL{4jKY{yVMxOr>0O(@frJT|l8RQ3P?#YHi$SCaOYichz}KdgW-h zBCRybQB5xq_U3WCV7{gk{uY3ptkwp=zf88rV8xKO+M(U|NHbdD{~@k!DD3CWrUp$Q zO!dNUCWQOih@)e*pbi83{c0hh+^VyBqdM3T@GYrRW{Gwzc?)5* zestfC7x(+uVi2$$*8s;sK|*{iBj_MWhZ&NGFxRa3xd!- z#kMW7Ap}|>sA%&%C~J~!`ar=0g&8+SjDqu8T@pa5+;Tn_AX3!pSZSGMf5n;U*8Bt~Pll{+k3Mo54ezobekVPr8$O)E06%F0WR{=M2C;{nR$~2YoTOhR>Jm zY|3b1dxKgssG?n@u8udeS^XWFgJ~4rX5$=OM;r@pB&K|?=pV6rWW_e`sG+>^?(+#< zG~$lE^B8XQ&BWYvdx}z#^_aua*!l$mW9cgHNoN-?)<-EikiWoFP8zb-n@ePV(D31- zeDUmD&dYr0h&JY!!xg4b3m`lHr)MZ>IjkP^KrC_!)4&T-kZm_bZA-o55UbHW!6@>w z$heth@7fP;j5Aoy*=QpKnJq@*mI`wMXhq{vXk#_{HyJ&E8tz-RZI!TOsimLRnLLWW zN%i=m;IG8epmQxrx&{Iv#gnn&CDR0oe(DMWb$U#TI+na|?0m$`)XcPH^O9gc)}M~a z2@SuMaelz~<@Ul2xMIZHQZ2Sy3Fx(wRWrd5Qxc7&%7G0SV zbc>e5)3HpMvPqD8l5TzpOq5sj5TXNex_G|PJH=76WV3K|h{8lIk~Ok9Y?!v_6a@X{ zMMq2UQYyGcQxSlXua{CrZ@Y9^LVkz$K`7gJxwf*eySY`nFjX{kibAS&43p{;eiR`7 zSxe`UgLgI%2xR(RKZYb*dh0PqF`-Ihq#W@wrJ(E|W~F+6fJ~$QDNhl&W%D!@cgkzl z%tF833^}8T@v4mvWC+r68g5FAT|C@vPXs9STF}z9kPPM_RJoeIaH#6&4@!N>1Xi*P zkc8-hEPlA>aE7Q-LXZ+T+hXd_#ZpE0@H+fL$l%_a8)d<^1>(C=3NQ5Jde58BtJkUz z1B6bvhgAOg(zx3~lewLPSn3(?C5Q@0QETyO+)~?R4ia`!I>GgU);rRXu%qP0EqV9C zs*5gr-67>lUFe9_cb@XedMSj&8wLr*PCrwwwzF7Mfq4-B?y#B!_-`7n-7Cn3Ct)>oGSeulq*N_vA+8lmTCHw%lx;V2$;!un z)ci&|)EG|wE7OwRe_X1X*X~tI3&H7zayd5jW$D(_rg)-Wc;&g@DYt+Q^bwG*0Hgvi#i9Z*F3LiVhRh{0F!li`r<&7Apr znucbg42&P*w0*#R*4~=X-AeWZ!w`^3P?zsL1Pq1`fO}Y3r{&4fWoGon;MQ0?&s!rh zlenN`9ht~@CIMh z#&^Y=D`T5X?k8NdBolWz?*+z607YvSj<>sttukKsshH0m*-(*t+CZ8|Ud z{u+q5W|F9k4f7uXP0eD&&OA>*Y;hudx^ft5##}%U08VX7`&HfJIFzZwf zaK3|Eu(i~6d?!GyAn1%=$W0g$^(9~K8Z$yY%wxOj#5IXP0H31R46g`2q%)DRD(vo% zvRw_PgDKGGE3ojUt|weO%#3tZgka1#T5_gX+fMe zA*?shje~~md4XSBw7I&3vfYt1Z4*8KrZW){&M|6u86auJNQJ9p4JIh}2To3>b-Ir} z_6!TqJPn7NPD+nPZ7&3G=~oPr3M_BiUUR01{|(`4SNhwL7j{zdCHn4BMJl90wW1m0uSsBV^u-YN|AeEZqW9Y90^tc8n0nvLGe< zoqth7!ZezKZGHtx%+1(=1=+PR|HUSHl_4Zxd}@UXDcaIr8;*Tc0WRCDELT$7g*qg_ zD@|qBM;zu>dcaD-^L(#hnRCO~K~n;4-;d|SH6f7a%Dndgi|9r)KGWALMDkya%mV;e z@}i)5lb{t#12ytDpI$Ewht^|#O}kpJqE1f0zk0WGXK&zI@+Y$%`{6i@PX-^I2UbjM!aj#uW&3K{ zlV2sjSb&}d)wjru{?RT2TgsZvSwLFp9H->Axaa2C9P6o z%&X})lcupY}3GhS;;_72??W_>Ost5cTK3%}%Y~HWvZp{6K-+9#&)&+R>)0L3VZgQBmtsFz`>8;^DP$tT zDCui3mA!dguyj}KRkX6%W78i5w$FyIe(6~wy5wa`A`GsL;~iDrTFLWb2b(}|S(P_V zI|_DS*d5q$9G;=vZKBNpK~knO2|Jf{s~n32|SJ*0WszwLbW~6Zd}+e0wD@R#&y;D~N>nM&H7hwUPQE3eX9|{3o}}CZ zaGlMO7;kLDIN@TQ7-L_RVj1j;nMAE9bzkN8n^ktw!!uvOpdrMv#6@G(QWoYaK-N90 zad>4kEi9MHcdjRU!0EIsS;Br&%HcUX25I($(>F4B5t0!-N0pf1eG|oAT$wuhGPgg6^v-Es>y4Js&HbQDjWf@S|P@J2kQmU|d#s8$^bE-%d`4SmmOdtk%Iq>BKQgv?p3OZ61m zX0vlch?q{iimW5qK@u=2K#|B`^D?@x+6{9xYYGbLIKloY8dN-BQ;U+ga2$t;0S9}e zR(5?#{%H+fx05Uzew*q$Ctw6PC3Vrd+DcaVXKsd_4` z+|ye3KeKutKpku3SSClTU|K)AG*)XSq|XO@@lgPVk*)`F_y!m0m28M^J$Jj^!ryI-iluSPdfbcZ}ykV`Xz9 zS*u_K%lHyC4Nc!g;OZk`UJi@t)^9~wU;hh!#f5#{RG2IJYBNA@epWNwSE7YLvKSI( z8I`-T97iiYC#mg(ZvIIA0iOu%iZ~ePS6WCzljnKgGo^T>^D8W>s)|J;=`t_w*t9; zd6qKBc5-(CL4a6OwRyXvax3`OkqbLcEyh1eo z+l`XMjVl{}+TfbEFpLWVuaDq%_r=avHuzMO5vR(5vP@n2=2*XS`RZ}6N}@l=E_;mVC$Y#fsn-i0$M_GLJ%{n$4n}l%&)%Wm!nT_cR7Hr3TFRenSK33I*)Y4 zo%cv8RGjALa8WQSBcSgHY4tRGRpEW?j;79b`Wnm1U7XiuU`WGzM3r8&5xs7n&ukl1Y0 ze#q}!5o;Tj`XtmSs2^T)8TUW^M_wJ{}UDY)&8+eOtr0VGH! z0XUgtT`sEVFHmfQl1XVg2lH<_Z*xL>t@2yyD!%|uA&u#2U?Hhb>$PF<% zrB4;+G`sB~2@eBb(Wp$SUOBCqmolFFUQmZ2Fsu{rgp(fmYfTS`kQ4ezySAR@$`X=J zq)pm(H1*w989MUUD`)c<&;t=%Oq2sy?o*V*iN56 zt|9gN_v&Y>Pn|#3vr$b@2TgMiFhCiF_FyTUD-tZxn?`G5cXa~7NGGR6HCPt*! z=~zsm1Y|eG2gKQSW-%qZ>?HmX<9BHY>o^0sFY*m5x{`gvursq*B#Pzl;GNnKr9nkAJGqBY)ye`u8p%E&KRo{Qv%!1WW_w4gasI`KTPy z;!%wLRR(X7C#EHTwGnkAm}K7O@2)ar-b)J+!#Sv>vwvt)FZysP3Nfz)Zl#%v7(S(m zmxIYAx1ZPMMuq4-9caQcnZxs8YyVT*>r|x>sSd2SGMuL4S)Jk%M8n6c7FuN~lelXd ztqsR8be%m^F~L?HKIUDbPO7y*mGyv!^3k=28us2mcD}cq-$e8@O3kz6;sgznu*{Xl zf9!w5^%e3J0)SqLIf9FQXx=Q`dul(RID!!^_x8g6{ej|} zf;VXUQxaUSD>-!nPJA`Sb~;kcFkJv>@+rjGmU~mevCUN%)u6rm?C){9%HqLy z`0KItLI6^~*a2DNx7+xT_%aHZ1X9b@;>mwq5iU#gv3Y+U0{`WzekH@?6>#VpgLy8* zPkcuX$)A3mewMCnVEtMT)x+$7K7V( z2N&7pz(w^!%~f7T|AkABZU&=&xlIH6BWye@e0ok{{j&^LL4p+aIAu8iJ}q7%Zj5^r z1>TNS?Rd3LhnIoDmWBspyVA6@W%{bLu&_tJ(<4>*x`f*m@FJA_dSiAb8^Iu@dr<({ ztC#@*t$=pSIUcJg-{BhTqMS}`Con*uC~4rTL{lytEpANPR7~|_dxqo7)^qckGfJRj zH7{22uSHYEb z%Nm3aK}cEipqP$8{S;PZiWHIB-J{0XzeYh05hS;IXPVU(FtQlS*D$&u7*)PQh;=w& zJI-a$s&73CVhk01%Ko~i!u&FSamsI{%aVob9jVh7o%H}8#i6v!(hq3{UH{>qT~09C z?LaVgJslIaggY)jyYyDh<6C#N$W0-6X=1~tq>HN9~!vYTeEfvb5_lI1>^uCc56dZ&6Kz! zL}x>dT@3~nf6o1~Hxeq51PllI1i+jysuNniLI@ znMtB?Mm{YB+i=r`v`ar;%p17lO5wy$VEMOz5Ualq#$C=v)ZCoJ^?s!FtU-~|6iSY% zju5<0(~;?SWwSWFXyP^yK(_xCSnZ^(QBoz*Kh^Lfvb@1Zl~8pYgA?4+sZ_4UaU;-- z0k%{?6z-VF&i|(BDD_$LBdWz`V)`3*S;gxROax$nsY$+6PHM5ZOjo|dU1tKC=xgr- z-Hv`wQ3$E-QiUQ7UW}&1y3(g0hHwGg>RTD}$WdVu*JAL1*z>9*x|ZIkz>g8a@Yf`Y z{xvcD1BO5LWxQY?_PUjDTxE}@6A#O3GK57bFZ_={EyIOK5G47&aa_Fai-0giXb(%{ z=y#JyiA23!kq`Dc6NK_dF9Ez043OxEi}aPh4aO0CpEMwVbjD$})utdTl7Lxwyl-7n zelZCrZ4mEr^=HOsHXor!sC%FHhf^Uv1`g))7BYd^qhO0J34PPCyiP6upv*s;{R-s~ z1ej)yC*Y6DWc%!3BlnBV19oR6p-;5;*k6&mAofPMh_HsR+!R(1&;KZtNvpw5=;g9W zaLvH-v>qBzKK{3rX66I(Hw=dG*rVRsYx^vF(tC!GgSGT~UoWA-+7zVl5o|Qih{*i{X|xUs5dil8Fbe1#J5#|dRhD^ zEtP~>0kq4A=`MC*kjJ`~3&G@CCx3u@Z;BV~R%X==MHmhlXeP2+7s4n}adx#av1o4+ z0Cgu@N4LBEv zgB_+UJOO2v<1$!(O=}7V3k>f`8nR)?oU5Dve{Zkjao?j^b;>Hqa9GM;dnD#t-&JXu zDse+C*B?vH6l100B*kk2L5{VkXr`rzHZokTXL)E(pZsz0rQY8Z!Z_U#ODArOh;_30 zcseF^6s1GdcE-@8ehALRCGl;>^f-4cbZ}xUay0{_8|{bV zP(B2nAcA~frgJMV#0@ zk^d)u!;Fu*F2xpELi7{UD-dNoN@vUfiGJ&M$XpwY3@ftnYj~5wKv7&SYr0^RDXrAoU8Mj%4C^}@kd zofbl6R5Pwxm0MW)Jz^ls^o@f!(Rc=Gtn$Y|Z1T0GWaTi}j0w_R{@N`X#R8@U=cLZ& zP%-AK?_a-@Y20;Sjym*A9wTgEowao4#FZUInC;B_n31~@0e~)$0XcM{H}V3)SxWeR z$adTj)>xEoLK%+mI*`*a)|Z`oJ$yW%99(}}f~+jY%vPe=o1$31pa3`}+tW?+e$+_$ z9ICxVYJ@ueC=`3n!!k;rifd#;g-E2f5T=b&;T7PQ@mHDTo@|r=qJ7A>&ff@K?E(u` zVwv|ip>)(ME5~_Y`b8X}H{U&#sH-eqsSvu`dN!xxMnqVrR~Uf`FTcB-j8`OO6Kno7 z=1=)P>wrSJtmp_SuSlbmAKl@Vb5K-)vrRK%jgz=zYU97ToBu%^T)-}*1;Ds`28k(~0`V^If6O@F!%2}&TnIIG@-7YRfs;BY(0Eu% zC=i|Q%W`g)X>+l3!lq=gsV-2YAQNwK>>E}u`4XmRuh=_D*wk5g`R`4~18Rzx(yU986$T1~VzNU#4L>m3e zv^%J=lW773r+*Tdq80HShu2J_uGmtm-JEWmYsZc2tC_iy(SReh^{bh=;}Irbjoi>$teC;b2im1KAYh z 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 dyACLnCEl~L42iShO4)B%!AOB9G?X;{}B;} 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 Date: Tue, 17 Feb 2026 11:19:36 +0000 Subject: [PATCH 05/28] Restored Profiles.vue actions alignment (#2067) --- src/pages/Profiles.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/Profiles.vue b/src/pages/Profiles.vue index e60cf697f..ec6c92c08 100644 --- a/src/pages/Profiles.vue +++ b/src/pages/Profiles.vue @@ -166,6 +166,7 @@ onMounted( async () => { #profile-actions-container { display: flex; + width: 100%; } #profile-actions-row { From 1e3d7035a6050e6ef44866d4b3853fa8418bcd14 Mon Sep 17 00:00:00 2001 From: Thomas <77514919+TB516@users.noreply.github.com> Date: Fri, 20 Feb 2026 01:06:42 -0500 Subject: [PATCH 06/28] FIX: Launch Steam with xdg-open for Flatpak release (#2077) * Change R2 flatpak launching method from running steam.sh to invoking xdg-open with steam protocol * Change steam_executable_launch to use flatpak-spawn --host xdg-open * Steam deck game mode special launch condition * Corrected environment variable check and restored expected launch wrapper behaviour --------- Co-authored-by: Cade Ayres --- .../runners/linux/SteamGameRunner_Linux.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/r2mm/launching/runners/linux/SteamGameRunner_Linux.ts b/src/r2mm/launching/runners/linux/SteamGameRunner_Linux.ts index 996b4a851..2c74f287d 100644 --- a/src/r2mm/launching/runners/linux/SteamGameRunner_Linux.ts +++ b/src/r2mm/launching/runners/linux/SteamGameRunner_Linux.ts @@ -103,7 +103,8 @@ export default class SteamGameRunner_Linux extends GameRunnerProvider { try { if (await isManagerRunningOnFlatpak()) { - console.log("Launching flatpak") + + LoggerProvider.instance.Log(LogSeverity.INFO, `Launching using Flatpak behaviour`); const isProton = await getDeterminedLaunchType(game, settings.getLaunchType() || LaunchType.AUTO) === LaunchType.PROTON; @@ -120,12 +121,19 @@ export default class SteamGameRunner_Linux extends GameRunnerProvider { ...parseShell(userDefinedArgsPart) ); - await FsProvider.instance.writeFile(path.join(PathResolver.MOD_ROOT, 'wrapper_args.txt'), lineArgs.join('\n')) + await FsProvider.instance.writeFile(path.join(PathResolver.MOD_ROOT, 'wrapper_args.txt'), lineArgs.join('\n')); - childProcess.execSync( - `${PathResolver.MOD_ROOT}/steam_executable_launch.sh --host ${executableNamePart} steam://run/${game.activePlatform.storeIdentifier}/`); + // If we are on Steam Deck game mode, then run the Flatpak spawn Steam script instead of using xdg-open + if (env.SteamDeck === '1' && env.XDG_CURRENT_DESKTOP === 'gamescope') { + LoggerProvider.instance.Log(LogSeverity.INFO, `User on Steam Deck`); + childProcess.execSync(`${PathResolver.MOD_ROOT}/steam_executable_launch.sh --host ${executableNamePart} steam://run/${game.activePlatform.storeIdentifier}/`); + return; + } + + LoggerProvider.instance.Log(LogSeverity.INFO, `User on regular Flatpak environment`); + childProcess.execSync(`xdg-open steam://run/${game.activePlatform.storeIdentifier}/`); } else { - console.log("Launching standard", commandString) + LoggerProvider.instance.Log(LogSeverity.INFO, `Launching using Native behaviour`); childProcess.execSync( commandString, { From 9fee3fc3d2e979338b97e6c9c485ab3b8cc2f740 Mon Sep 17 00:00:00 2001 From: Ethan Green Date: Mon, 2 Mar 2026 12:39:14 +0200 Subject: [PATCH 07/28] Add four new games - A Gentleman's Dispute - Super Battle Golf - Cursed Words - Ducks Can Drive --- .../game_selection/a-gentlemens-dispute.webp | Bin 0 -> 21442 bytes .../images/game_selection/cursed-words.webp | Bin 0 -> 12356 bytes .../game_selection/ducks-can-drive.webp | Bin 0 -> 9632 bytes .../game_selection/super-battle-golf.webp | Bin 0 -> 24462 bytes src/assets/data/ecosystem.json | 579 +++++++++++++++++- 5 files changed, 577 insertions(+), 2 deletions(-) create mode 100644 public/images/game_selection/a-gentlemens-dispute.webp create mode 100644 public/images/game_selection/cursed-words.webp create mode 100644 public/images/game_selection/ducks-can-drive.webp create mode 100644 public/images/game_selection/super-battle-golf.webp diff --git a/public/images/game_selection/a-gentlemens-dispute.webp b/public/images/game_selection/a-gentlemens-dispute.webp new file mode 100644 index 0000000000000000000000000000000000000000..316ab40830db89e9c44df4e95a4e74f4b1bf87f9 GIT binary patch literal 21442 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 literal 0 HcmV?d00001 diff --git a/public/images/game_selection/cursed-words.webp b/public/images/game_selection/cursed-words.webp new file mode 100644 index 0000000000000000000000000000000000000000..76a912666350987c92c5470313211c4eac6ddcab GIT binary patch literal 12356 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 qhrHWGmFC17pa1{>00000004w80000000022k^lez000000002&Vj&9v literal 0 HcmV?d00001 diff --git a/public/images/game_selection/ducks-can-drive.webp b/public/images/game_selection/ducks-can-drive.webp new file mode 100644 index 0000000000000000000000000000000000000000..118b5b6318a8b1cfd70bb33ddf3877958204eb14 GIT binary patch literal 9632 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 Wbek!)GY@zuo@fkCVwYC86aWA)KJ9-1 literal 0 HcmV?d00001 diff --git a/public/images/game_selection/super-battle-golf.webp b/public/images/game_selection/super-battle-golf.webp new file mode 100644 index 0000000000000000000000000000000000000000..aca9906cb27f7b75f3a05e3e7e91fa33a385b74d GIT binary patch literal 24462 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
t2MVcLW)m48k7z<2$lB`IYh6f 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 Date: Mon, 2 Mar 2026 15:11:37 +0200 Subject: [PATCH 08/28] Update Thunderstore ecosystem data Use the demo version of Cursed Words as the full version has not been released yet. --- src/assets/data/ecosystem.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/data/ecosystem.json b/src/assets/data/ecosystem.json index 617a51284..f5f6868ef 100644 --- a/src/assets/data/ecosystem.json +++ b/src/assets/data/ecosystem.json @@ -20656,7 +20656,7 @@ "distributions": [ { "platform": "steam", - "identifier": "3856460" + "identifier": "4264890" } ], "steamFolderName": "Cursed Words", From 9b0aa8e0390e2ddaa84284531fe673fb7a52d6da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Mon, 2 Mar 2026 15:34:46 +0200 Subject: [PATCH 09/28] Update Thunderstore ecosystem data Fix steam folder for Cursed Words Demo --- src/assets/data/ecosystem.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/data/ecosystem.json b/src/assets/data/ecosystem.json index f5f6868ef..bcd49e8e6 100644 --- a/src/assets/data/ecosystem.json +++ b/src/assets/data/ecosystem.json @@ -20659,7 +20659,7 @@ "identifier": "4264890" } ], - "steamFolderName": "Cursed Words", + "steamFolderName": "Cursed Words Demo", "dataFolderName": "Cursed Words_Data", "exeNames": [ "Cursed Words.exe" From f6f806892fea51cbee4009937dcdee70273f1560 Mon Sep 17 00:00:00 2001 From: Mythic Date: Wed, 4 Mar 2026 11:44:45 +0200 Subject: [PATCH 10/28] Add game launch event emitter Add a game launch event emitter which downstream code can hook to --- src/utils/LaunchUtils.ts | 5 +++++ src/utils/TypedEventEmitter.ts | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/utils/TypedEventEmitter.ts diff --git a/src/utils/LaunchUtils.ts b/src/utils/LaunchUtils.ts index 6079f4295..2261e336d 100644 --- a/src/utils/LaunchUtils.ts +++ b/src/utils/LaunchUtils.ts @@ -13,10 +13,15 @@ import path from "../providers/node/path/path"; import PathResolver from "../r2mm/manager/PathResolver"; import appWindow from '../providers/node/app/app_window'; import InteractionProvider from "../providers/ror2/system/InteractionProvider"; +import { TypedEventEmitter } from "./TypedEventEmitter"; export enum LaunchMode { VANILLA, MODDED }; +export const OnGameLaunch = new TypedEventEmitter<{ game: Game, profile: Profile, mode: LaunchMode }>(); + export const launch = async (game: Game, profile: Profile, mode: LaunchMode): Promise => { + await OnGameLaunch.emit({game, profile, mode}); + const error = (mode === LaunchMode.MODDED) ? await GameRunnerProvider.instance.startModded(game, profile) : await GameRunnerProvider.instance.startVanilla(game, profile); diff --git a/src/utils/TypedEventEmitter.ts b/src/utils/TypedEventEmitter.ts new file mode 100644 index 000000000..ad5c95b93 --- /dev/null +++ b/src/utils/TypedEventEmitter.ts @@ -0,0 +1,28 @@ +export type TypedListener = (e: Event) => Promise; +export interface ITypedEventEmitter { + addListener(listener: TypedListener): void; + removeListener(listener: TypedListener): void; + emit(event: Event): Promise; +} + + +export class TypedEventEmitter implements ITypedEventEmitter { + private readonly listeners: Set>; + + constructor() { + this.listeners = new Set(); + } + + public addListener(listener: TypedListener): void { + this.listeners.add(listener); + } + + public removeListener(listener: TypedListener): void { + this.listeners.delete(listener); + } + + public async emit(event: T): Promise { + const listenerPromises = Array.from(this.listeners).map(listener => listener(event)); + await Promise.all(listenerPromises); + } +} From db191a25519782e8fa74902163cf5ffaf9ecac14 Mon Sep 17 00:00:00 2001 From: Mythic Date: Wed, 4 Mar 2026 13:28:03 +0200 Subject: [PATCH 11/28] Expose thunderstoreIdentifier in Game class Expose the Thunderstore-defined game identifier in the Game class --- src/model/game/Game.ts | 26 ++++++++++++++++--- src/model/game/GameManager.ts | 3 ++- src/model/schema/ThunderstoreSchema.ts | 17 +++++++----- src/r2mm/installing/InstallationRules.ts | 2 +- .../ModLoaderVariantRecord.ts | 2 +- .../utils/utils.DependencyUtils.ts.spec.ts | 2 +- 6 files changed, 37 insertions(+), 15 deletions(-) diff --git a/src/model/game/Game.ts b/src/model/game/Game.ts index b63e9ec91..7122f578e 100644 --- a/src/model/game/Game.ts +++ b/src/model/game/Game.ts @@ -11,6 +11,7 @@ export default class Game { private readonly _exeName: string[]; private readonly _dataFolderName: string; private readonly _thunderstoreUrl: string; + private readonly _thunderstoreIdentifier: string; private readonly _storePlatformMetadata: StorePlatformMetadata[]; private readonly _gameImage: string; private readonly _displayMode: GameSelectionDisplayMode; @@ -21,10 +22,22 @@ export default class Game { private _activePlatform: StorePlatformMetadata; - constructor(displayName: string, internalFolderName: string, settingsIdentifier: string, - steamFolderName: string, exeName: string[], dataFolderName: string, - tsUrl: string, platforms: StorePlatformMetadata[], gameImage: string, - displayMode: GameSelectionDisplayMode, instanceType: GameInstanceType, packageLoader: PackageLoader, additionalSearchStrings?: string[]) { + constructor( + displayName: string, + internalFolderName: string, + settingsIdentifier: string, + steamFolderName: string, + exeName: string[], + dataFolderName: string, + tsUrl: string, + tsIdentifier: string, + platforms: StorePlatformMetadata[], + gameImage: string, + displayMode: GameSelectionDisplayMode, + instanceType: GameInstanceType, + packageLoader: PackageLoader, + additionalSearchStrings?: string[], + ) { this._displayName = displayName; this._internalFolderName = internalFolderName; @@ -33,6 +46,7 @@ export default class Game { this._exeName = exeName; this._dataFolderName = dataFolderName; this._thunderstoreUrl = tsUrl; + this._thunderstoreIdentifier = tsIdentifier; this._storePlatformMetadata = platforms; this._activePlatform = platforms[0]; this._gameImage = gameImage; @@ -70,6 +84,10 @@ export default class Game { return this._thunderstoreUrl; } + get thunderstoreIdentifier(): string { + return this._thunderstoreIdentifier; + } + get storePlatformMetadata(): StorePlatformMetadata[] { return this._storePlatformMetadata; } diff --git a/src/model/game/GameManager.ts b/src/model/game/GameManager.ts index c1a0be77f..757eef973 100644 --- a/src/model/game/GameManager.ts +++ b/src/model/game/GameManager.ts @@ -23,7 +23,7 @@ export default class GameManager { } static get gameList(): Game[] { - return EcosystemSchema.supportedGames.map((game) => new Game( + return EcosystemSchema.supportedGames.map(([identifier, game]) => new Game( game.meta.displayName, game.internalFolderName, game.settingsIdentifier, @@ -31,6 +31,7 @@ export default class GameManager { game.exeNames, game.dataFolderName, game.packageIndex, + identifier, game.distributions.map( (x) => new StorePlatformMetadata(x.platform, x.identifier || undefined) ), diff --git a/src/model/schema/ThunderstoreSchema.ts b/src/model/schema/ThunderstoreSchema.ts index 5c32a9da8..2af174ad1 100644 --- a/src/model/schema/ThunderstoreSchema.ts +++ b/src/model/schema/ThunderstoreSchema.ts @@ -2,7 +2,7 @@ import Ajv from "ajv"; import addFormats from "ajv-formats"; import ecosystem from "../../assets/data/ecosystem.json"; -import { ThunderstoreEcosystem } from "../../assets/data/ecosystemTypes"; +import { R2Modman, ThunderstoreEcosystem } from "../../assets/data/ecosystemTypes"; import jsonSchema from "../../assets/data/ecosystemJsonSchema.json"; import R2Error from "../errors/R2Error"; @@ -43,14 +43,17 @@ export class EcosystemSchema { } /** - * Get a list of r2modman entries i.e. games supported by the mod manager. + * Get a list of [identifier, r2modman] entries i.e. games supported by the mod manager. */ static get supportedGames() { - return Object.values(this.ecosystem.games).flatMap( - (game) => game.r2modman - ).filter( - (r2modman): r2modman is NonNullable => r2modman != null - ); + const result: [string, R2Modman][] = [] + for (const [identifier, game] of Object.entries(this.ecosystem.games)) { + if (game.r2modman == null) continue; + for (const entry of game.r2modman) { + result.push([identifier, entry]); + } + } + return result; } static get modloaderPackages() { diff --git a/src/r2mm/installing/InstallationRules.ts b/src/r2mm/installing/InstallationRules.ts index b9be5cbef..34f1b0931 100644 --- a/src/r2mm/installing/InstallationRules.ts +++ b/src/r2mm/installing/InstallationRules.ts @@ -39,7 +39,7 @@ export default class InstallationRules { } public static apply() { - this._RULES = EcosystemSchema.supportedGames.map((x) => ({ + this._RULES = EcosystemSchema.supportedGames.map(([_, x]) => ({ gameName: x.internalFolderName, rules: x.installRules, relativeFileExclusions: x.relativeFileExclusions, diff --git a/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts b/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts index 7aba6a093..c5a24cccd 100644 --- a/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts +++ b/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts @@ -38,7 +38,7 @@ const OVERRIDES: Modloaders = { export const MOD_LOADER_VARIANTS: Modloaders = Object.fromEntries( EcosystemSchema.supportedGames - .map((game) => [ + .map(([_, game]) => [ game.internalFolderName, OVERRIDES[game.internalFolderName] || MODLOADER_PACKAGES ]) diff --git a/test/vitest/tests/utils/utils.DependencyUtils.ts.spec.ts b/test/vitest/tests/utils/utils.DependencyUtils.ts.spec.ts index eebc629c1..a8180c665 100644 --- a/test/vitest/tests/utils/utils.DependencyUtils.ts.spec.ts +++ b/test/vitest/tests/utils/utils.DependencyUtils.ts.spec.ts @@ -32,7 +32,7 @@ vi.spyOn(PackageDexieStoreMockables, "fetchPackagesByCommunityPackagePairs").moc }); const game = new Game( - "", "RiskOfRain2", "", "", [], "", "", [], "", + "", "RiskOfRain2", "", "", [], "", "", "riskofrain2",[], "", GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [] ); From 9cdfd083c530ce0a227d91153b5953167750af29 Mon Sep 17 00:00:00 2001 From: Mythic Date: Thu, 5 Mar 2026 13:12:00 +0200 Subject: [PATCH 12/28] Add tests for TypedEventEmitter Add unit tests for the newly introduced TypedEventEmitter class --- src/utils/LaunchUtils.ts | 1 + .../tests/utils/TypedEventEmitter.test.ts | 49 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 test/vitest/tests/utils/TypedEventEmitter.test.ts diff --git a/src/utils/LaunchUtils.ts b/src/utils/LaunchUtils.ts index 2261e336d..ab74323ec 100644 --- a/src/utils/LaunchUtils.ts +++ b/src/utils/LaunchUtils.ts @@ -20,6 +20,7 @@ export enum LaunchMode { VANILLA, MODDED }; export const OnGameLaunch = new TypedEventEmitter<{ game: Game, profile: Profile, mode: LaunchMode }>(); export const launch = async (game: Game, profile: Profile, mode: LaunchMode): Promise => { + // This event is used for analytics by TMM await OnGameLaunch.emit({game, profile, mode}); const error = (mode === LaunchMode.MODDED) diff --git a/test/vitest/tests/utils/TypedEventEmitter.test.ts b/test/vitest/tests/utils/TypedEventEmitter.test.ts new file mode 100644 index 000000000..fa4fc8016 --- /dev/null +++ b/test/vitest/tests/utils/TypedEventEmitter.test.ts @@ -0,0 +1,49 @@ +import { expect, describe, beforeEach, it } from "vitest"; +import { TypedEventEmitter, TypedListener } from "../../../../src/utils/TypedEventEmitter"; + +describe("TypedEventEmitter", () => { + interface TestEvent { + message: string; + } + + const createTestListener = (receivedEvents: TestEvent[]): TypedListener => { + return async (event: TestEvent) => { + receivedEvents.push(event); + }; + }; + + let eventEmitter: TypedEventEmitter; + + beforeEach(() => { + eventEmitter = new TypedEventEmitter(); + }); + + it("should emit events to active listeners", async () => { + const receivedEvents1: TestEvent[] = []; + const receivedEvents2: TestEvent[] = []; + + const listener1 = createTestListener(receivedEvents1); + const listener2 = createTestListener(receivedEvents2); + + eventEmitter.addListener(listener1); + eventEmitter.addListener(listener2); + + const testEvent: TestEvent = { message: "Hello, World!" }; + await eventEmitter.emit(testEvent); + + expect(receivedEvents1).toEqual([testEvent]); + expect(receivedEvents2).toEqual([testEvent]); + + eventEmitter.removeListener(listener1); + + const testEvent2: TestEvent = { message: "Hello again, World!" }; + await eventEmitter.emit(testEvent2); + + expect(receivedEvents1).toEqual([testEvent]); + expect(receivedEvents2).toEqual([testEvent, testEvent2]); + }); + + it("should handle empty listeners", async () => { + await expect(eventEmitter.emit({ message: "Test" })).resolves.not.toThrow(); + }); +}); From 08cb9aeb441381749b2ac91585f1592e94e6d9fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Thu, 21 Aug 2025 17:33:32 +0300 Subject: [PATCH 13/28] Add NoOpInstaller for PackageLoader.NONE This provides a type-safe way to simplify package loader installation code since we don't need special checks for games that don't use package loaders but depend on profiles. --- src/installers/NoOpInstaller.ts | 13 ++++++++++ src/installers/registry.ts | 25 +++++++++---------- .../GenericProfileInstaller.ts | 16 +++--------- 3 files changed, 29 insertions(+), 25 deletions(-) create mode 100644 src/installers/NoOpInstaller.ts diff --git a/src/installers/NoOpInstaller.ts b/src/installers/NoOpInstaller.ts new file mode 100644 index 000000000..5de30a344 --- /dev/null +++ b/src/installers/NoOpInstaller.ts @@ -0,0 +1,13 @@ +import { InstallArgs, PackageInstaller } from './PackageInstaller'; + +/** + * Doesn't do anything. Provides compatible API for games that + * don't use package loaders, but do depend on profile directories. + * In practice this never gets called as ModLoaderVariantRecord + * naturally doesn't ever refer this, but it's required for type + * safety and its existence simplifies the code. + */ +export class NoOpInstaller implements PackageInstaller { + async install(args: InstallArgs): Promise {} + async uninstall(args: InstallArgs): Promise {} +} diff --git a/src/installers/registry.ts b/src/installers/registry.ts index b75359353..82f0c8b18 100644 --- a/src/installers/registry.ts +++ b/src/installers/registry.ts @@ -1,6 +1,7 @@ import { BepInExInstaller } from './BepInExInstaller'; import { GodotMLInstaller } from './GodotMLInstaller'; import { MelonLoaderInstaller } from './MelonLoaderInstaller'; +import { NoOpInstaller } from './NoOpInstaller'; import { PackageInstaller } from './PackageInstaller'; import { ShimloaderInstaller } from './ShimloaderInstaller'; import { LovelyInstaller, LovelyPluginInstaller } from './LovelyInstaller'; @@ -17,36 +18,34 @@ import { PackageLoader } from '../model/schema/ThunderstoreSchema'; /** * Package loader installer registry */ -type LoaderInstallers = Exclude; -const PackageLoaderInstallers: Record = { +export const PackageLoaderInstallers: Record = { [PackageLoader.BEPINEX]: new BepInExInstaller(), [PackageLoader.BEPISLOADER]: new BepisLoaderInstaller(), [PackageLoader.GDWEAVE]: new GDWeaveInstaller(), [PackageLoader.GODOTML]: new GodotMLInstaller(), [PackageLoader.LOVELY]: new LovelyInstaller(), [PackageLoader.MELONLOADER]: new MelonLoaderInstaller(), + [PackageLoader.NONE]: new NoOpInstaller(), [PackageLoader.NORTHSTAR]: new NorthstarInstaller(), [PackageLoader.RECURSIVE_MELONLOADER]: new RecursiveMelonLoaderInstaller(), [PackageLoader.RETURN_OF_MODDING]: new ReturnOfModdingInstaller(), + [PackageLoader.RIVET]: new RivetInstaller(), [PackageLoader.SHIMLOADER]: new ShimloaderInstaller(), [PackageLoader.UMM]: new UMMInstaller(), - [PackageLoader.RIVET]: new RivetInstaller(), }; -export function getPackageLoaderInstaller(loader: PackageLoader): PackageInstaller|null { - if (loader === PackageLoader.NONE) { - return null; - } - - return PackageLoaderInstallers[loader]; -} - - /** * Plugin installer registry */ -type InstallRuleInstallers = PackageLoader.BEPINEX | PackageLoader.BEPISLOADER | PackageLoader.GODOTML | PackageLoader.MELONLOADER | PackageLoader.NORTHSTAR | PackageLoader.SHIMLOADER | PackageLoader.UMM; +type InstallRuleInstallers = + | PackageLoader.BEPINEX + | PackageLoader.BEPISLOADER + | PackageLoader.GODOTML + | PackageLoader.MELONLOADER + | PackageLoader.NORTHSTAR + | PackageLoader.SHIMLOADER + | PackageLoader.UMM; type PluginInstallers = Exclude; const PluginInstallers: Record = { diff --git a/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts b/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts index 2507d26f6..796ea1c2c 100644 --- a/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts +++ b/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts @@ -16,7 +16,7 @@ import GameManager from '../../../model/game/GameManager'; import { MOD_LOADER_VARIANTS } from '../../installing/profile_installers/ModLoaderVariantRecord'; import FileWriteError from '../../../model/errors/FileWriteError'; import FileUtils from '../../../utils/FileUtils'; -import { getPackageLoaderInstaller, getPluginInstaller } from "../../../installers/registry"; +import { getPluginInstaller, PackageLoaderInstallers } from "../../../installers/registry"; import { InstallArgs, PackageInstaller } from "../../../installers/PackageInstaller"; import { InstallRuleInstaller } from "../../../installers/InstallRuleInstaller"; import { ReturnOfModdingPluginInstaller } from "../../../installers/ReturnOfModdingInstaller"; @@ -189,16 +189,8 @@ export default class GenericProfileInstaller extends ProfileInstallerProvider { } async installModLoader(mapping: ModLoaderPackageMapping, args: InstallArgs): Promise { - const loaderInstaller = getPackageLoaderInstaller(mapping.loaderType); - if (loaderInstaller) { - await loaderInstaller.install(args); - return Promise.resolve(null); - } else { - return new R2Error( - "Installer not found", - `Failed to find an appropriate installer for the package ${mapping.packageName}` - ); - } + await PackageLoaderInstallers[mapping.loaderType].install(args); + return null; } private async uninstallPackageZip(mod: ManifestV2, profile: ImmutableProfile) { @@ -330,7 +322,7 @@ export default class GenericProfileInstaller extends ProfileInstallerProvider { */ private async uninstallModLoaderWithInstaller(mod: ManifestV2, profile: ImmutableProfile): Promise { const modLoader = this.getModLoader(mod); - const installer = modLoader ? getPackageLoaderInstaller(modLoader.loaderType) : null; + const installer = modLoader ? PackageLoaderInstallers[modLoader.loaderType] : null; return this.uninstallWithInstaller(installer, mod, profile); } From ba5e2aad6b523eec5de36c4738f058fcb3c87e99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 22 Aug 2025 11:00:57 +0300 Subject: [PATCH 14/28] Rename InstallRuleInstaller to InstallRulePluginInstaller This is to avoid confusion by unifying the naming with the other PackageInstaller implementations. The convention is to name the mod loader installers as FooInstaller and the mod installers as FooPluginInstaller. --- src/installers/InstallRuleInstaller.ts | 2 +- src/installers/ReturnOfModdingInstaller.ts | 4 ++-- .../profile_installers/GenericProfileInstaller.ts | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/installers/InstallRuleInstaller.ts b/src/installers/InstallRuleInstaller.ts index e904137dc..093e40ac5 100644 --- a/src/installers/InstallRuleInstaller.ts +++ b/src/installers/InstallRuleInstaller.ts @@ -256,7 +256,7 @@ async function installState(args: InstallRuleArgs) { await addToStateFile(mod, fileRelocations, profile); } -export class InstallRuleInstaller implements PackageInstaller { +export class InstallRulePluginInstaller implements PackageInstaller { public readonly rule: CoreRuleType; constructor(rules: CoreRuleType) { diff --git a/src/installers/ReturnOfModdingInstaller.ts b/src/installers/ReturnOfModdingInstaller.ts index 46d785199..cfe650d07 100644 --- a/src/installers/ReturnOfModdingInstaller.ts +++ b/src/installers/ReturnOfModdingInstaller.ts @@ -1,5 +1,5 @@ import path from "../providers/node/path/path"; -import { InstallRuleInstaller } from "./InstallRuleInstaller"; +import { InstallRulePluginInstaller } from "./InstallRuleInstaller"; import { InstallArgs, PackageInstaller } from "./PackageInstaller"; import FileWriteError from "../model/errors/FileWriteError"; import { PackageLoader } from "../model/schema/ThunderstoreSchema"; @@ -70,7 +70,7 @@ export class ReturnOfModdingPluginInstaller implements PackageInstaller { _DATA = "plugins_data"; _CONFIG = "config" - readonly installer = () => new InstallRuleInstaller({ + readonly installer = () => new InstallRulePluginInstaller({ gameName: "none" as any, // This isn't actually used for actual installation but needs some value rules: [ { diff --git a/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts b/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts index 796ea1c2c..3a13b2583 100644 --- a/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts +++ b/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts @@ -18,7 +18,7 @@ import FileWriteError from '../../../model/errors/FileWriteError'; import FileUtils from '../../../utils/FileUtils'; import { getPluginInstaller, PackageLoaderInstallers } from "../../../installers/registry"; import { InstallArgs, PackageInstaller } from "../../../installers/PackageInstaller"; -import { InstallRuleInstaller } from "../../../installers/InstallRuleInstaller"; +import { InstallRulePluginInstaller } from "../../../installers/InstallRuleInstaller"; import { ReturnOfModdingPluginInstaller } from "../../../installers/ReturnOfModdingInstaller"; import { TrackingMethod } from '../../../model/schema/ThunderstoreSchema'; @@ -26,12 +26,12 @@ import { TrackingMethod } from '../../../model/schema/ThunderstoreSchema'; export default class GenericProfileInstaller extends ProfileInstallerProvider { private readonly rule: CoreRuleType | undefined; - private readonly legacyInstaller: InstallRuleInstaller; + private readonly legacyInstaller: InstallRulePluginInstaller; constructor() { super(); this.rule = InstallationRules.RULES.find(value => value.gameName === GameManager.activeGame.internalFolderName)!; - this.legacyInstaller = new InstallRuleInstaller(this.rule); + this.legacyInstaller = new InstallRulePluginInstaller(this.rule); } private async applyModModeForSubdir(mod: ManifestV2, profile: ImmutableProfile, mode: number): Promise { From d47b0725be181d4abb00807868dc865d5c771b2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 22 Aug 2025 11:25:19 +0300 Subject: [PATCH 15/28] Clean up internal implementation of InstallRulePluginInstaller - Make internal helper method private - Rename it to resolveFileTreeInstall as it's not exclusive for BepInEx - Remove R2Error from helper's return type as no code path returns anything but undefined - Remove unnecessary Promise.resolve as the helper is marked async --- src/installers/InstallRuleInstaller.ts | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/src/installers/InstallRuleInstaller.ts b/src/installers/InstallRuleInstaller.ts index 093e40ac5..bdad45643 100644 --- a/src/installers/InstallRuleInstaller.ts +++ b/src/installers/InstallRuleInstaller.ts @@ -3,7 +3,7 @@ import { ImmutableProfile } from "../model/Profile"; import FsProvider from "../providers/generic/file/FsProvider"; import path from "../providers/node/path/path"; import ManifestV2 from "../model/ManifestV2"; -import R2Error from "../model/errors/R2Error"; +import R2Error, { throwForR2Error } from "../model/errors/R2Error"; import FileTree from "../model/file/FileTree"; import InstallationRules, { CoreRuleType, ManagedRule, RuleSubtype } from "../r2mm/installing/InstallationRules"; import FileUtils from "../utils/FileUtils"; @@ -269,23 +269,11 @@ export class InstallRulePluginInstaller implements PackageInstaller { */ async install(args: InstallArgs) { const { mod, profile, packagePath } = args; - const files: FileTree | R2Error = await FileTree.buildFromLocation(packagePath); - if (files instanceof R2Error) { - throw files; - } - const result = await this.resolveBepInExTree( - profile, - packagePath, - path.basename(packagePath), - mod, - files, - ); - if (result instanceof Error) { - throw result; - } + const fileTree = throwForR2Error(await FileTree.buildFromLocation(packagePath)) + await this.resolveFileTreeInstall(profile, packagePath, path.basename(packagePath), mod, fileTree); } - async resolveBepInExTree(profile: ImmutableProfile, location: string, folderName: string, mod: ManifestV2, tree: FileTree): Promise { + private async resolveFileTreeInstall(profile: ImmutableProfile, location: string, folderName: string, mod: ManifestV2, tree: FileTree) { const installationIntent = await buildInstallForRuleSubtype(this.rule, location, folderName, mod, tree); for (let [rule, files] of installationIntent.entries()) { const managedRule = InstallationRules.getManagedRuleForSubtype(this.rule, rule); @@ -304,6 +292,5 @@ export class InstallRulePluginInstaller implements PackageInstaller { case TrackingMethod.PACKAGE_ZIP: await installPackageZip(profile, managedRule, files, mod); break; } } - return Promise.resolve(undefined); } } From bc48937411cafd6e552b3a8b48cb60d736ec7dad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Fri, 22 Aug 2025 11:59:50 +0300 Subject: [PATCH 16/28] Move mod enable/disable related code from GenericProfileInstaller This is a step on the path to make InstallRulePluginInstaller support all four methods of PackageInstaller class. --- src/installers/InstallRuleInstaller.ts | 52 +++++++++++++++++++ .../GenericProfileInstaller.ts | 51 ++---------------- 2 files changed, 55 insertions(+), 48 deletions(-) diff --git a/src/installers/InstallRuleInstaller.ts b/src/installers/InstallRuleInstaller.ts index bdad45643..d423c89f9 100644 --- a/src/installers/InstallRuleInstaller.ts +++ b/src/installers/InstallRuleInstaller.ts @@ -13,6 +13,7 @@ import ConflictManagementProvider from "../providers/generic/installing/Conflict import PathResolver from "../r2mm/manager/PathResolver"; import ZipProvider from "../providers/generic/zip/ZipProvider"; import { TrackingMethod } from "../model/schema/ThunderstoreSchema"; +import ModMode from "../model/enums/ModMode"; type InstallRuleArgs = { profile: ImmutableProfile, @@ -256,6 +257,57 @@ async function installState(args: InstallRuleArgs) { await addToStateFile(mod, fileRelocations, profile); } +// Enables or disables a mod installed with InstallRulePluginInstaller using SUBDIR/SUBDIR_NO_FLATTEN tracking methods. +export async function applyModeSubDirs(mod: ManifestV2, profile: ImmutableProfile, mode: number, rule: CoreRuleType): Promise { + const subDirPaths = InstallationRules.getAllManagedPaths(rule.rules) + .filter(value => [TrackingMethod.SUBDIR, TrackingMethod.SUBDIR_NO_FLATTEN].includes(value.trackingMethod)); + + for (const dir of subDirPaths) { + if (await FsProvider.instance.exists(profile.joinToProfilePath(dir.route))) { + const dirContents = await FsProvider.instance.readdir(profile.joinToProfilePath(dir.route)); + for (const namespacedDir of dirContents) { + if (namespacedDir === mod.getName()) { + const tree = await FileTree.buildFromLocation(profile.joinToProfilePath(dir.route, namespacedDir)); + if (tree instanceof R2Error) { + return tree; + } + for (const value of tree.getRecursiveFiles()) { + if (mode === ModMode.DISABLED && mod.isEnabled() && !value.toLowerCase().endsWith(".old")) { + await FsProvider.instance.rename(value, `${value}.old`); + } else if (mode === ModMode.ENABLED && !mod.isEnabled() && value.toLowerCase().endsWith(".old")) { + await FsProvider.instance.rename(value, value.substring(0, value.length - ('.old').length)); + } + } + } + } + } + } +} + +// Enables or disables a mod installed with InstallRulePluginInstaller using STATE tracking method. +export async function applyModeState(mod: ManifestV2, profile: ImmutableProfile, mode: number): Promise { + try { + const modStateFilePath = profile.joinToProfilePath("_state", `${mod.getName()}-state.yml`); + if (await FsProvider.instance.exists(modStateFilePath)) { + const fileContents = (await FsProvider.instance.readFile(modStateFilePath)).toString(); + const tracker: ModFileTracker = yaml.parse(fileContents); + for (const [key, value] of tracker.files) { + if (await ConflictManagementProvider.instance.isFileActive(mod, profile, value)) { + const filePath = profile.joinToProfilePath(value); + if (await FsProvider.instance.exists(filePath)) { + await FsProvider.instance.unlink(filePath); + } + if (mode === ModMode.ENABLED) { + await FsProvider.instance.copyFile(key, filePath); + } + } + } + } + } catch (e) { + return R2Error.fromThrownValue(e, `Error installing mod: ${mod.getName()}`); + } +} + export class InstallRulePluginInstaller implements PackageInstaller { public readonly rule: CoreRuleType; diff --git a/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts b/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts index 3a13b2583..eb4346617 100644 --- a/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts +++ b/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts @@ -1,14 +1,12 @@ import ProfileInstallerProvider from '../../../providers/ror2/installing/ProfileInstallerProvider'; import ManifestV2 from '../../../model/ManifestV2'; import { ImmutableProfile } from '../../../model/Profile'; -import FileTree from '../../../model/file/FileTree'; import R2Error from '../../../model/errors/R2Error'; import ModLoaderPackageMapping from '../../../model/installing/ModLoaderPackageMapping'; import path from "../../../providers/node/path/path"; import FsProvider from '../../../providers/generic/file/FsProvider'; import ModFileTracker from '../../../model/installing/ModFileTracker'; import yaml from 'yaml'; -import ConflictManagementProvider from '../../../providers/generic/installing/ConflictManagementProvider'; import ModMode from '../../../model/enums/ModMode'; import InstallationRules, { CoreRuleType } from '../../installing/InstallationRules'; import PathResolver from '../../../r2mm/manager/PathResolver'; @@ -18,9 +16,8 @@ import FileWriteError from '../../../model/errors/FileWriteError'; import FileUtils from '../../../utils/FileUtils'; import { getPluginInstaller, PackageLoaderInstallers } from "../../../installers/registry"; import { InstallArgs, PackageInstaller } from "../../../installers/PackageInstaller"; -import { InstallRulePluginInstaller } from "../../../installers/InstallRuleInstaller"; +import { applyModeState, applyModeSubDirs, InstallRulePluginInstaller } from "../../../installers/InstallRuleInstaller"; import { ReturnOfModdingPluginInstaller } from "../../../installers/ReturnOfModdingInstaller"; -import { TrackingMethod } from '../../../model/schema/ThunderstoreSchema'; export default class GenericProfileInstaller extends ProfileInstallerProvider { @@ -50,53 +47,11 @@ export default class GenericProfileInstaller extends ProfileInstallerProvider { return; } - const subDirPaths = InstallationRules.getAllManagedPaths(rule.rules) - .filter(value => [TrackingMethod.SUBDIR, TrackingMethod.SUBDIR_NO_FLATTEN].includes(value.trackingMethod)); - - for (const dir of subDirPaths) { - if (await FsProvider.instance.exists(profile.joinToProfilePath(dir.route))) { - const dirContents = await FsProvider.instance.readdir(profile.joinToProfilePath(dir.route)); - for (const namespacedDir of dirContents) { - if (namespacedDir === mod.getName()) { - const tree = await FileTree.buildFromLocation(profile.joinToProfilePath(dir.route, namespacedDir)); - if (tree instanceof R2Error) { - return tree; - } - for (const value of tree.getRecursiveFiles()) { - if (mode === ModMode.DISABLED && mod.isEnabled() && !value.toLowerCase().endsWith(".old")) { - await FsProvider.instance.rename(value, `${value}.old`); - } else if (mode === ModMode.ENABLED && !mod.isEnabled() && value.toLowerCase().endsWith(".old")) { - await FsProvider.instance.rename(value, value.substring(0, value.length - ('.old').length)); - } - } - } - } - } - } + return await applyModeSubDirs(mod, profile, mode, rule); } private async applyModModeForState(mod: ManifestV2, profile: ImmutableProfile, mode: number): Promise { - profile.getProfilePath() - try { - const modStateFilePath = profile.joinToProfilePath("_state", `${mod.getName()}-state.yml`); - if (await FsProvider.instance.exists(modStateFilePath)) { - const fileContents = (await FsProvider.instance.readFile(modStateFilePath)).toString(); - const tracker: ModFileTracker = yaml.parse(fileContents); - for (const [key, value] of tracker.files) { - if (await ConflictManagementProvider.instance.isFileActive(mod, profile, value)) { - const filePath = profile.joinToProfilePath(value); - if (await FsProvider.instance.exists(filePath)) { - await FsProvider.instance.unlink(filePath); - } - if (mode === ModMode.ENABLED) { - await FsProvider.instance.copyFile(key, filePath); - } - } - } - } - } catch (e) { - return R2Error.fromThrownValue(e, `Error installing mod: ${mod.getName()}`); - } + return await applyModeState(mod, profile, mode); } private async applyModMode(mod: ManifestV2, profile: ImmutableProfile, mode: number): Promise { From a019da3ca78db24ffbbb091ab9df5d3330ff17c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Sat, 7 Mar 2026 10:15:02 +0200 Subject: [PATCH 17/28] Rename file InstallRuleInstaller class was recently renamed to InstallRulePluginInstaller to match the conventions in the codebase. Rename file to match the exported class. --- .../{InstallRuleInstaller.ts => InstallRulePluginInstaller.ts} | 0 src/installers/LovelyInstaller.ts | 2 +- src/installers/ReturnOfModdingInstaller.ts | 2 +- .../installing/profile_installers/GenericProfileInstaller.ts | 2 +- test/vitest/tests/unit/MelonLoader/state.spec.ts | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename src/installers/{InstallRuleInstaller.ts => InstallRulePluginInstaller.ts} (100%) diff --git a/src/installers/InstallRuleInstaller.ts b/src/installers/InstallRulePluginInstaller.ts similarity index 100% rename from src/installers/InstallRuleInstaller.ts rename to src/installers/InstallRulePluginInstaller.ts diff --git a/src/installers/LovelyInstaller.ts b/src/installers/LovelyInstaller.ts index 60af441a8..a78d3db45 100644 --- a/src/installers/LovelyInstaller.ts +++ b/src/installers/LovelyInstaller.ts @@ -1,5 +1,5 @@ import { InstallArgs, PackageInstaller } from "./PackageInstaller"; -import { addToStateFile } from "./InstallRuleInstaller"; +import { addToStateFile } from "./InstallRulePluginInstaller"; import FsProvider from "../providers/generic/file/FsProvider"; import FileUtils from "../utils/FileUtils"; import FileTree from "../model/file/FileTree"; diff --git a/src/installers/ReturnOfModdingInstaller.ts b/src/installers/ReturnOfModdingInstaller.ts index cfe650d07..d25aa5a06 100644 --- a/src/installers/ReturnOfModdingInstaller.ts +++ b/src/installers/ReturnOfModdingInstaller.ts @@ -1,5 +1,5 @@ import path from "../providers/node/path/path"; -import { InstallRulePluginInstaller } from "./InstallRuleInstaller"; +import { InstallRulePluginInstaller } from "./InstallRulePluginInstaller"; import { InstallArgs, PackageInstaller } from "./PackageInstaller"; import FileWriteError from "../model/errors/FileWriteError"; import { PackageLoader } from "../model/schema/ThunderstoreSchema"; diff --git a/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts b/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts index eb4346617..e6d7d830b 100644 --- a/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts +++ b/src/r2mm/installing/profile_installers/GenericProfileInstaller.ts @@ -16,7 +16,7 @@ import FileWriteError from '../../../model/errors/FileWriteError'; import FileUtils from '../../../utils/FileUtils'; import { getPluginInstaller, PackageLoaderInstallers } from "../../../installers/registry"; import { InstallArgs, PackageInstaller } from "../../../installers/PackageInstaller"; -import { applyModeState, applyModeSubDirs, InstallRulePluginInstaller } from "../../../installers/InstallRuleInstaller"; +import { applyModeState, applyModeSubDirs, InstallRulePluginInstaller } from "../../../installers/InstallRulePluginInstaller"; import { ReturnOfModdingPluginInstaller } from "../../../installers/ReturnOfModdingInstaller"; diff --git a/test/vitest/tests/unit/MelonLoader/state.spec.ts b/test/vitest/tests/unit/MelonLoader/state.spec.ts index 51d5e9583..095ff6c06 100644 --- a/test/vitest/tests/unit/MelonLoader/state.spec.ts +++ b/test/vitest/tests/unit/MelonLoader/state.spec.ts @@ -12,7 +12,7 @@ import StateTracker from '../../../../../src/model/installing/StateTracker'; import GenericProfileInstaller from '../../../../../src/r2mm/installing/profile_installers/GenericProfileInstaller'; import GameManager from '../../../../../src/model/game/GameManager'; import ConflictManagementProvider from '../../../../../src/providers/generic/installing/ConflictManagementProvider'; -import { addToStateFile } from '../../../../../src/installers/InstallRuleInstaller'; +import { addToStateFile } from '../../../../../src/installers/InstallRulePluginInstaller'; import { describe, beforeEach, afterEach, test, expect } from 'vitest'; import {providePathImplementation} from "../../../../../src/providers/node/path/path"; import {TestPathProvider} from "../../../stubs/providers/node/Node.Path.Provider"; From df0b3065a73af5af09b3281b5ba834f98c7cde60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Tue, 10 Mar 2026 12:21:45 +0200 Subject: [PATCH 18/28] Update Thunderstore ecosystem data - Make Baby Steps visible now that the mod loader problem is resolved - Replace obsolote Beetleball playtest version with demo version --- src/assets/data/ecosystem.json | 97 ++++++++++++++++++++++++++++------ 1 file changed, 82 insertions(+), 15 deletions(-) diff --git a/src/assets/data/ecosystem.json b/src/assets/data/ecosystem.json index bcd49e8e6..5a467005c 100644 --- a/src/assets/data/ecosystem.json +++ b/src/assets/data/ecosystem.json @@ -18784,7 +18784,8 @@ "packageIndex": "https://thunderstore.io/c/a-gentlemens-dispute/api/v1/package-listing-index/", "gameSelectionDisplayMode": "visible", "additionalSearchStrings": [ - "AGD" + "AGD", + "礼帽大乱斗" ], "installRules": [ { @@ -19101,7 +19102,10 @@ ], "gameInstanceType": "game", "gameSelectionDisplayMode": "visible", - "additionalSearchStrings": [], + "additionalSearchStrings": [ + "异星探险家", + "异星旅人" + ], "packageLoader": "shimloader", "installRules": [ { @@ -19198,7 +19202,7 @@ "settingsIdentifier": "BabySteps", "internalFolderName": "BabySteps", "packageIndex": "https://thunderstore.io/c/baby-steps/api/v1/package-listing-index/", - "gameSelectionDisplayMode": "hidden", + "gameSelectionDisplayMode": "visible", "additionalSearchStrings": [ "一步一脚印" ], @@ -19434,10 +19438,10 @@ "distributions": [ { "platform": "steam", - "identifier": "3821880" + "identifier": "4231580" } ], - "steamFolderName": "BeetleBall Playtest", + "steamFolderName": "Beetleball Demo", "dataFolderName": "Beetleball_Data", "exeNames": [ "Beetleball.exe" @@ -19458,6 +19462,7 @@ ], "thunderstore": { "displayName": "Beetleball", + "shortDescription": "Score goals with dungballs in Beetleball, the Greatest Online Multiplayer Class-based Dung Beetle Soccer Game TO EVER EXIST", "categories": { "mods": { "label": "Mods" @@ -19835,7 +19840,9 @@ "internalFolderName": "CarrierDeck", "packageIndex": "https://thunderstore.io/c/carrier-deck/api/v1/package-listing-index/", "gameSelectionDisplayMode": "visible", - "additionalSearchStrings": [], + "additionalSearchStrings": [ + "甲板指挥官" + ], "installRules": [ { "route": "BepInEx/plugins", @@ -21388,7 +21395,9 @@ "internalFolderName": "FactoryPlanner", "packageIndex": "https://thunderstore.io/c/factory-planner/api/v1/package-listing-index/", "gameSelectionDisplayMode": "visible", - "additionalSearchStrings": [], + "additionalSearchStrings": [ + "卡牌工厂" + ], "installRules": [ { "route": "BepInEx/plugins", @@ -22001,7 +22010,9 @@ "internalFolderName": "GrannyChapterTwo", "packageIndex": "https://thunderstore.io/c/granny-chapter-two/api/v1/package-listing-index/", "gameSelectionDisplayMode": "visible", - "additionalSearchStrings": [], + "additionalSearchStrings": [ + "恐怖奶奶2" + ], "installRules": [ { "route": "BepInEx/plugins", @@ -24420,7 +24431,9 @@ "internalFolderName": "OnTogetherVirtualCoWorking", "packageIndex": "https://thunderstore.io/c/on-together/api/v1/package-listing-index/", "gameSelectionDisplayMode": "visible", - "additionalSearchStrings": [], + "additionalSearchStrings": [ + "随时在一起:云自习" + ], "installRules": [ { "route": "BepInEx/plugins", @@ -25282,7 +25295,8 @@ "packageIndex": "https://thunderstore.io/c/project-arrhythmia/api/v1/package-listing-index/", "gameSelectionDisplayMode": "visible", "additionalSearchStrings": [ - "PA" + "PA", + "心律失常" ], "installRules": [ { @@ -26014,7 +26028,9 @@ "internalFolderName": "RvThereYet", "packageIndex": "https://thunderstore.io/c/rv-there-yet/api/v1/package-listing-index/", "gameSelectionDisplayMode": "visible", - "additionalSearchStrings": [], + "additionalSearchStrings": [ + "我们到了吗?" + ], "installRules": [ { "route": "shimloader/mod", @@ -26486,7 +26502,10 @@ "additionalSearchStrings": [ "SC6", "SCVI", - "Soul Calibur" + "Soul Calibur", + "灵魂能力6", + "刀魂6", + "剑魂6" ], "installRules": [ { @@ -26735,7 +26754,9 @@ "internalFolderName": "StolenRealm", "packageIndex": "https://thunderstore.io/c/stolen-realm/api/v1/package-listing-index/", "gameSelectionDisplayMode": "visible", - "additionalSearchStrings": [], + "additionalSearchStrings": [ + "失落王国" + ], "installRules": [ { "route": "BepInEx/plugins", @@ -26854,7 +26875,8 @@ "packageIndex": "https://thunderstore.io/c/super-battle-golf/api/v1/package-listing-index/", "gameSelectionDisplayMode": "visible", "additionalSearchStrings": [ - "SBG" + "SBG", + "超级高尔夫大乱斗" ], "installRules": [ { @@ -26920,6 +26942,27 @@ }, "audio": { "label": "Audio" + }, + "items": { + "label": "Items" + }, + "qol": { + "label": "Quality of Life" + }, + "cosmetics": { + "label": "Cosmetics" + }, + "courses": { + "label": "Courses" + }, + "clientside": { + "label": "Client-Side" + }, + "hostonly": { + "label": "Host-Only" + }, + "allclients": { + "label": "All Clients Required" } }, "sections": { @@ -27192,7 +27235,9 @@ "internalFolderName": "TheFarmerWasReplaced", "packageIndex": "https://thunderstore.io/c/the-farmer-was-replaced/api/v1/package-listing-index/", "gameSelectionDisplayMode": "visible", - "additionalSearchStrings": [], + "additionalSearchStrings": [ + "编程农场" + ], "installRules": [ { "route": "BepInEx/plugins", @@ -33431,6 +33476,7 @@ }, "beetleball": { "displayName": "Beetleball", + "shortDescription": "Score goals with dungballs in Beetleball, the Greatest Online Multiplayer Class-based Dung Beetle Soccer Game TO EVER EXIST", "categories": { "mods": { "label": "Mods" @@ -36717,6 +36763,27 @@ }, "audio": { "label": "Audio" + }, + "items": { + "label": "Items" + }, + "qol": { + "label": "Quality of Life" + }, + "cosmetics": { + "label": "Cosmetics" + }, + "courses": { + "label": "Courses" + }, + "clientside": { + "label": "Client-Side" + }, + "hostonly": { + "label": "Host-Only" + }, + "allclients": { + "label": "All Clients Required" } }, "sections": { From 5dd765a145cf4c15ba8c682e0b82abe9de24d49b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Tue, 10 Mar 2026 12:23:37 +0200 Subject: [PATCH 19/28] Remove recommended mod loader version from Beetleball Melonloader v0.7.2. was released recently and according to reports works fine with the demo version of the game. There's no longer need to shepherd the users to use older version. --- .../profile_installers/ModLoaderVariantRecord.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts b/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts index 7aba6a093..60d840382 100644 --- a/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts +++ b/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts @@ -26,14 +26,6 @@ const OVERRIDES: Modloaders = { new VersionNumber('0.5.4'), ), ], - Beetleball: [ - new ModLoaderPackageMapping( - 'LavaGang-MelonLoader', - '', - PackageLoader.MELONLOADER, - new VersionNumber('0.7.0'), - ), - ], } export const MOD_LOADER_VARIANTS: Modloaders = Object.fromEntries( From 9f2b5fd1bc01ef3d6ebb44c0d97a7c45d9442dfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4ki?= Date: Tue, 10 Mar 2026 15:18:23 +0200 Subject: [PATCH 20/28] Fix mod update on RecursiveMelonLoaderInstaller Missing await when untinstalling the old version caused installing the new version to fail due to files being in use. --- src/installers/RecursiveMelonLoaderInstaller.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/installers/RecursiveMelonLoaderInstaller.ts b/src/installers/RecursiveMelonLoaderInstaller.ts index 7e4f8e234..8bdeec33f 100644 --- a/src/installers/RecursiveMelonLoaderInstaller.ts +++ b/src/installers/RecursiveMelonLoaderInstaller.ts @@ -113,8 +113,8 @@ export class RecursiveMelonLoaderPluginInstaller implements PackageInstaller { async uninstall(args: InstallArgs): Promise { try { - FileUtils.recursiveRemoveDirectoryIfExists(this.getModsPath(args)); - FileUtils.recursiveRemoveDirectoryIfExists(this.getUserDataPath(args)); + await FileUtils.recursiveRemoveDirectoryIfExists(this.getModsPath(args)); + await FileUtils.recursiveRemoveDirectoryIfExists(this.getUserDataPath(args)); } catch (e) { this.throwActionError(e, 'uninstall'); } From b57717b0ee54c68614dd48ea659fc2f1ab08e26a Mon Sep 17 00:00:00 2001 From: Ethan Green Date: Mon, 16 Mar 2026 06:58:45 +0200 Subject: [PATCH 21/28] Add assets for four new games - Gorilla Tag - Jump Scare Mansion - Pit of Goblin - Very Very Valet --- public/images/game_selection/gorilla-tag.webp | Bin 0 -> 9466 bytes .../game_selection/jump-scare-mansion.webp | Bin 0 -> 15788 bytes .../images/game_selection/pit-of-goblin.webp | Bin 0 -> 11024 bytes .../game_selection/very-very-valet.webp | Bin 0 -> 30056 bytes src/assets/data/ecosystem.json | 824 +++++++++++++++++- 5 files changed, 801 insertions(+), 23 deletions(-) create mode 100644 public/images/game_selection/gorilla-tag.webp create mode 100644 public/images/game_selection/jump-scare-mansion.webp create mode 100644 public/images/game_selection/pit-of-goblin.webp create mode 100644 public/images/game_selection/very-very-valet.webp diff --git a/public/images/game_selection/gorilla-tag.webp b/public/images/game_selection/gorilla-tag.webp new file mode 100644 index 0000000000000000000000000000000000000000..bad35eb729d3a79ffd26203ae08b38a481250fbd GIT binary patch literal 9466 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 K-k>Ga000046Go^2 literal 0 HcmV?d00001 diff --git a/public/images/game_selection/very-very-valet.webp b/public/images/game_selection/very-very-valet.webp new file mode 100644 index 0000000000000000000000000000000000000000..2614656f5b305baf38ade5f25549fd4ded0940b8 GIT binary patch literal 30056 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 P7o*chv9gN!A4C8EDE)P0 literal 0 HcmV?d00001 diff --git a/src/assets/data/ecosystem.json b/src/assets/data/ecosystem.json index 5a467005c..277db3183 100644 --- a/src/assets/data/ecosystem.json +++ b/src/assets/data/ecosystem.json @@ -20649,6 +20649,84 @@ ] } }, + "cryo": { + "uuid": "000d475a-d3d2-45e3-9059-2994929441a8", + "label": "cryo", + "meta": { + "displayName": "CRYO", + "iconUrl": "cryo.webp" + }, + "distributions": [], + "r2modman": [ + { + "gameInstanceType": "game", + "distributions": [ + { + "platform": "steam", + "identifier": "2564910" + } + ], + "steamFolderName": "CRYO", + "dataFolderName": "Cryo_Data", + "exeNames": [ + "Cryo.exe" + ], + "packageLoader": "melonloader", + "meta": { + "displayName": "CRYO", + "iconUrl": "cryo.webp" + }, + "settingsIdentifier": "Cryo", + "internalFolderName": "Cryo", + "packageIndex": "https://thunderstore.io/c/cryo/api/v1/package-listing-index/", + "gameSelectionDisplayMode": "visible", + "additionalSearchStrings": [], + "installRules": [], + "relativeFileExclusions": null + } + ], + "thunderstore": { + "displayName": "CRYO", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "autolistPackageIds": [ + "LavaGang-MelonLoader" + ], + "shortDescription": "CRYO is a multiplayer co-op survival horror for 1-4 players. You have been deployed by your company to various locations around the Antarctic due to communication issues. What awaits you in these dark, remote regions is far more sinister than a technical fault..." + } + }, "cursed-words": { "uuid": "4363e08e-0e9d-4578-a8ab-9c28ce866280", "label": "cursed-words", @@ -21979,6 +22057,87 @@ ] } }, + "gorilla-tag": { + "uuid": "f82a5eb3-c8b7-49af-99d8-a812ab87f8fc", + "label": "gorilla-tag", + "meta": { + "displayName": "Gorilla Tag", + "iconUrl": "gorilla-tag.webp" + }, + "distributions": [], + "r2modman": [ + { + "gameInstanceType": "game", + "distributions": [ + { + "platform": "steam", + "identifier": "1533390" + } + ], + "steamFolderName": "Gorilla Tag", + "dataFolderName": "Gorilla Tag_Data", + "exeNames": [ + "Gorilla Tag.exe" + ], + "packageLoader": "recursive-melonloader", + "meta": { + "displayName": "Gorilla Tag", + "iconUrl": "gorilla-tag.webp" + }, + "settingsIdentifier": "GorillaTag", + "internalFolderName": "GorillaTag", + "packageIndex": "https://thunderstore.io/c/gorilla-tag/api/v1/package-listing-index/", + "gameSelectionDisplayMode": "visible", + "additionalSearchStrings": [ + "GT" + ], + "installRules": [], + "relativeFileExclusions": null + } + ], + "thunderstore": { + "displayName": "Gorilla Tag", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "discordUrl": "https://discord.gg/5rTmMjtECf", + "autolistPackageIds": [ + "LavaGang-MelonLoader" + ], + "shortDescription": "Run, jump, and climb using only your hands. Play tag or infection with people online. Run away from the infected players, or outmaneuver the survivors to catch them. Embrace your inner ape." + } + }, "granny-chapter-two": { "uuid": "e0c90bc6-675a-4ae7-a60e-57696d4a2205", "label": "granny-chapter-two", @@ -22673,6 +22832,128 @@ "autolistPackageIds": [] } }, + "jump-scare-mansion": { + "uuid": "bd792010-c61e-454a-bf51-b3c28243e14f", + "label": "jump-scare-mansion", + "meta": { + "displayName": "Spooky's Jump Scare Mansion: HD Renovation", + "iconUrl": "jump-scare-mansion.webp" + }, + "distributions": [], + "r2modman": [ + { + "gameInstanceType": "game", + "distributions": [ + { + "platform": "steam", + "identifier": "577690" + } + ], + "steamFolderName": "Spooky's Jump Scare Mansion HD Renovation", + "dataFolderName": "SpookyUnity_Data", + "exeNames": [ + "SpookyUnity.exe", + "SpookyUnity.app" + ], + "packageLoader": "bepinex", + "meta": { + "displayName": "Spooky's Jump Scare Mansion: HD Renovation", + "iconUrl": "jump-scare-mansion.webp" + }, + "settingsIdentifier": "SpookysJumpScareMansionHdRenovation", + "internalFolderName": "SpookysJumpScareMansionHdRenovation", + "packageIndex": "https://thunderstore.io/c/jump-scare-mansion/api/v1/package-listing-index/", + "gameSelectionDisplayMode": "visible", + "additionalSearchStrings": [ + "SJSM", + "Spookys" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "isDefaultLocation": true, + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/core", + "isDefaultLocation": false, + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/patchers", + "isDefaultLocation": false, + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/monomod", + "isDefaultLocation": false, + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/config", + "isDefaultLocation": false, + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [] + } + ], + "relativeFileExclusions": null + } + ], + "thunderstore": { + "displayName": "Spooky's Jump Scare Mansion: HD Renovation", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "autolistPackageIds": [ + "BepInEx-BepInExPack" + ], + "shortDescription": "Can you survive 1000 rooms of cute terror? Or will you break once the cuteness starts to fade off and you're running for your life from the unspeakable hideous beings that shake and writhe in bowels of this house? They wait for you, they wait and hunger for meeting you." + } + }, "jump-space": { "uuid": "0749aeb4-0675-405a-b247-c4180035066b", "label": "jump-space", @@ -24960,6 +25241,56 @@ ] } }, + "paradiddle": { + "uuid": "7bdd9e41-0144-4fa0-9727-580134489cfb", + "label": "paradiddle", + "meta": { + "displayName": "Paradiddle", + "iconUrl": "paradiddle.webp" + }, + "distributions": [], + "r2modman": null, + "thunderstore": { + "displayName": "Paradiddle", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "discordUrl": "https://discord.gg/paradiddle", + "wikiUrl": "https://github.com/kasapoli/ParadiddleWorkshop", + "shortDescription": "So much more than a VR drum kit. Learn to drum step by step, flex your skills with the built-in rhythm game, and build your own custom kit from a library of 60+ percussive instruments without the limitations of money or physical space. Fun, intuitive drumming for pros and newcomers alike!" + } + }, "patapon-1-2-replay": { "uuid": "d6dfad59-d6df-4398-b5d8-84dbbbace85f", "label": "patapon-1-2-replay", @@ -25263,6 +25594,87 @@ ] } }, + "pit-of-goblin": { + "uuid": "642cb413-e757-4276-a329-5b7539e527e1", + "label": "pit-of-goblin", + "meta": { + "displayName": "Pit of Goblin", + "iconUrl": "pit-of-goblin.webp" + }, + "distributions": [], + "r2modman": [ + { + "gameInstanceType": "game", + "distributions": [ + { + "platform": "steam", + "identifier": "3253530" + } + ], + "steamFolderName": "Pit of Goblin", + "dataFolderName": "Pit of Goblin_Data", + "exeNames": [ + "Pit of Goblin.exe" + ], + "packageLoader": "recursive-melonloader", + "meta": { + "displayName": "Pit of Goblin", + "iconUrl": "pit-of-goblin.webp" + }, + "settingsIdentifier": "PitOfGoblin", + "internalFolderName": "PitOfGoblin", + "packageIndex": "https://thunderstore.io/c/pit-of-goblin/api/v1/package-listing-index/", + "gameSelectionDisplayMode": "visible", + "additionalSearchStrings": [ + "POG", + "PoG" + ], + "installRules": [], + "relativeFileExclusions": null + } + ], + "thunderstore": { + "displayName": "Pit of Goblin", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "autolistPackageIds": [ + "LavaGang-MelonLoader" + ], + "shortDescription": "In this online horror co-op, you play as a scrappy goblin, scavenging dungeons, dodging traps, and fleeing monsters to feed the Goblin King-Queen. Team up with goblin pals, or go rogue, as you dive deep and cause chaos! Fail to feed them, and you might be the next meal!" + } + }, "project-arrhythmia": { "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "label": "project-arrhythmia", @@ -27458,29 +27870,150 @@ "identifier": "917950" } ], - "steamFolderName": "Vellum", - "dataFolderName": "Vellum_Data", - "exeNames": [ - "Vellum.exe" - ], - "packageLoader": "recursive-melonloader", - "meta": { - "displayName": "Vellum", - "iconUrl": "vellum.webp" - }, - "settingsIdentifier": "Vellum", - "internalFolderName": "Vellum", - "packageIndex": "https://thunderstore.io/c/vellum/api/v1/package-listing-index/", - "gameSelectionDisplayMode": "visible", - "additionalSearchStrings": [ - "维勒姆" - ], - "installRules": [], + "steamFolderName": "Vellum", + "dataFolderName": "Vellum_Data", + "exeNames": [ + "Vellum.exe" + ], + "packageLoader": "recursive-melonloader", + "meta": { + "displayName": "Vellum", + "iconUrl": "vellum.webp" + }, + "settingsIdentifier": "Vellum", + "internalFolderName": "Vellum", + "packageIndex": "https://thunderstore.io/c/vellum/api/v1/package-listing-index/", + "gameSelectionDisplayMode": "visible", + "additionalSearchStrings": [ + "维勒姆" + ], + "installRules": [], + "relativeFileExclusions": null + } + ], + "thunderstore": { + "displayName": "Vellum", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "wikiUrl": "https://vellum.fandom.com/wiki/Vellum_Wiki", + "discordUrl": "https://discord.gg/vellum", + "autolistPackageIds": [ + "LavaGang-MelonLoader" + ] + } + }, + "very-very-valet": { + "uuid": "f5e40d47-b6b6-46a0-b8e1-cefcd851e796", + "label": "very-very-valet", + "meta": { + "displayName": "Very Very Valet", + "iconUrl": "very-very-valet.webp" + }, + "distributions": [], + "r2modman": [ + { + "gameInstanceType": "game", + "distributions": [ + { + "platform": "steam", + "identifier": "1448840" + } + ], + "steamFolderName": "Very Very Valet/windows", + "dataFolderName": "VeryVeryValet_Release_Data", + "exeNames": [ + "VeryVeryValet_Release.exe" + ], + "packageLoader": "bepinex", + "meta": { + "displayName": "Very Very Valet", + "iconUrl": "very-very-valet.webp" + }, + "settingsIdentifier": "VeryVeryValet", + "internalFolderName": "VeryVeryValet", + "packageIndex": "https://thunderstore.io/c/very-very-valet/api/v1/package-listing-index/", + "gameSelectionDisplayMode": "visible", + "additionalSearchStrings": [ + "VVV" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "isDefaultLocation": true, + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/core", + "isDefaultLocation": false, + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/patchers", + "isDefaultLocation": false, + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/monomod", + "isDefaultLocation": false, + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/config", + "isDefaultLocation": false, + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [] + } + ], "relativeFileExclusions": null } ], "thunderstore": { - "displayName": "Vellum", + "displayName": "Very Very Valet", "categories": { "mods": { "label": "Mods" @@ -27515,11 +28048,10 @@ ] } }, - "wikiUrl": "https://vellum.fandom.com/wiki/Vellum_Wiki", - "discordUrl": "https://discord.gg/vellum", "autolistPackageIds": [ - "LavaGang-MelonLoader" - ] + "BepInEx-BepInExPack" + ], + "shortDescription": "Your next chaotic couch co-op party game is here! Drive, boost, and crash like wild with friends in this parking palooza" } }, "vigil": { @@ -33990,6 +34522,47 @@ "BepInEx-BepInExPack" ] }, + "cryo": { + "displayName": "CRYO", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "autolistPackageIds": [ + "LavaGang-MelonLoader" + ], + "shortDescription": "CRYO is a multiplayer co-op survival horror for 1-4 players. You have been deployed by your company to various locations around the Antarctic due to communication issues. What awaits you in these dark, remote regions is far more sinister than a technical fault..." + }, "cursed-words": { "displayName": "Cursed Words", "categories": { @@ -34589,6 +35162,48 @@ "BepInEx-BepInExPack" ] }, + "gorilla-tag": { + "displayName": "Gorilla Tag", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "discordUrl": "https://discord.gg/5rTmMjtECf", + "autolistPackageIds": [ + "LavaGang-MelonLoader" + ], + "shortDescription": "Run, jump, and climb using only your hands. Play tag or infection with people online. Run away from the infected players, or outmaneuver the survivors to catch them. Embrace your inner ape." + }, "granny-chapter-two": { "displayName": "Granny: Chapter Two", "categories": { @@ -34934,6 +35549,47 @@ "discordUrl": "https://discord.gg/hytalemodding", "autolistPackageIds": [] }, + "jump-scare-mansion": { + "displayName": "Spooky's Jump Scare Mansion: HD Renovation", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "autolistPackageIds": [ + "BepInEx-BepInExPack" + ], + "shortDescription": "Can you survive 1000 rooms of cute terror? Or will you break once the cuteness starts to fade off and you're running for your life from the unspeakable hideous beings that shake and writhe in bowels of this house? They wait for you, they wait and hunger for meeting you." + }, "jump-space": { "displayName": "Jump Space", "categories": { @@ -35860,6 +36516,46 @@ "BepInEx-BepInExPack_IL2CPP" ] }, + "paradiddle": { + "displayName": "Paradiddle", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "discordUrl": "https://discord.gg/paradiddle", + "wikiUrl": "https://github.com/kasapoli/ParadiddleWorkshop", + "shortDescription": "So much more than a VR drum kit. Learn to drum step by step, flex your skills with the built-in rhythm game, and build your own custom kit from a library of 60+ percussive instruments without the limitations of money or physical space. Fun, intuitive drumming for pros and newcomers alike!" + }, "patapon-1-2-replay": { "displayName": "PATAPON 1+2 REPLAY", "categories": { @@ -35996,6 +36692,47 @@ "BepInEx-BepInExPack" ] }, + "pit-of-goblin": { + "displayName": "Pit of Goblin", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "autolistPackageIds": [ + "LavaGang-MelonLoader" + ], + "shortDescription": "In this online horror co-op, you play as a scrappy goblin, scavenging dungeons, dodging traps, and fleeing monsters to feed the Goblin King-Queen. Team up with goblin pals, or go rogue, as you dive deep and cause chaos! Fail to feed them, and you might be the next meal!" + }, "project-arrhythmia": { "displayName": "Project Arrhythmia", "categories": { @@ -37048,6 +37785,47 @@ "LavaGang-MelonLoader" ] }, + "very-very-valet": { + "displayName": "Very Very Valet", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "autolistPackageIds": [ + "BepInEx-BepInExPack" + ], + "shortDescription": "Your next chaotic couch co-op party game is here! Drive, boost, and crash like wild with friends in this parking palooza" + }, "vigil": { "displayName": "Vigil", "categories": { From 5ec2a81e4639f41677b87d1547f2235cf7055ce0 Mon Sep 17 00:00:00 2001 From: Ethan Green Date: Mon, 16 Mar 2026 09:44:49 +0200 Subject: [PATCH 22/28] Add missing Cryo asset --- public/images/game_selection/cryo.webp | Bin 0 -> 31814 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/images/game_selection/cryo.webp diff --git a/public/images/game_selection/cryo.webp b/public/images/game_selection/cryo.webp new file mode 100644 index 0000000000000000000000000000000000000000..eafac0a4ffb1ceb7422def008c07d67430515891 GIT binary patch literal 31814 zcmV(rK<>X%Nk&FKd;kDfMM6+kP&gnmd;kD2t^u6^Drf=V0X{Jni9@0xAtNNU`#4|* z31@B#Uncd=cD&B-$@7I z>m&Dz)MxFF?hm{_{ZHL*b-&y{Ro3;V(G&-{-6e_{Ts&?DPF?f)`AHonSWpQ-+Ve(HV){%75n#TVg!=k#~&C;iX! zf0Q3!U(tWJf64Xt{+EY0%{|<3}{cv0=)(m>-RMO^$*F01Xy5I*ls|8>472%>CbZhbNrZfM&UKnDZf0?0|Ufy zUs#IF>k?#|225SayQs+}K7Q5Eap+*QsdxC&wlU;a}Lu zQTZMz&GVN-1QC$Rm8@UxevMYT|MlzULI8tDqs8D0of>oF~twS#B`R z0h*9Cgpa8)(+yFBGanz-BJ>&;FmymHUyYOndo7kI-LvAf1BQ>?)rm zybAw5 z5QIUaX}%#(1ui3|HB;uBHI>1uyXk9)982^>qE<^X;q{hWCdPOcHj9h10&L%zodQ*U zPUa;1;k==$ju@)SEjk=ans)8;FtHsN0baBEVkTJuq^n|?hgR|2ZgP(lw&$hK)(sO8 z;?KBd`rM;Yk}wqc6GR_=&-{EI=@qG!=r+C5DZF0aww9676*YCVd{b)sNuD23quoO*&cKySr7>}<)6zWQgf(q~R(9=xbM;9Zkv{%rLx zDdWNLbV%xE!j-1h$NmKu7N)PL;@A#gw#0j(BUTq3a5#C)W>nL?_T_k)ASJ{MjoNa! zD~v|tk)9hdi#!;2=LEt1+F9tNU)mDsp(c>K0k@%C@tsYKQqL?fEz6;A>99lh@|$k)f^J zW#FsTHytLTws`ajCjl+Pv+_&B>?^wg5}2v8Q*LKanrm0GzT0=T$osb37G|$_wG+C< z@(O*r9BK^RwgnKTjRL$Z<1jW`_CgP^DzA-ublT!ah>h}Mfny}vplXUY@*JMR&^q2B(JG3cOsXqnx&5Da zERVCL52ddwmJ?5}OVFcm>;9TH%Tl5`{M_)C-g7E}iH`=+O!YpLb4*wcPpe zp2|KoJL=QfVdKDvIh$~%0Wkdj6E`Es9vj9a<}?Ak6M37L2uT*zPsa}L8w~AGikEE@ zn#xVaTT0jCim|4Xn3*9a&UNkFr)6PRQU}$ffm3?2JU3Rlt(ewz@K3W~@C zb+fiS8LFOvGT*_V!(I>Rf57pM8~KM$U6+=j04GvSdd;ZPp2;xUCebeY<)|b9y;T;C zIjFk^?kNrzW^TrKP>n|$B8|A1&r?`xxVE7^{DTM}4dIH%P5sib8@YYFcV3z%xEud1 z|D2tmL5CC0G%))}!E-O^H{l7K2dB))_V}th$|K-w8;bmML^U8TQ(H z`#!j+*$gZI!?i*+Fk#3Km@vex&Yx*HUq&rJRh4UGBithLiah%t^z%kMkcv159sxxP zJkiS)7li=buIj^DeC`>&B5zWIOmF}$Z6Gs5YxI<>y$2R-LlFM~PlxASBV~cW6;q3- zud@M!cUzgw_ePbUG!eoQN&l(<{J2_OyLhirVU?tPGA~aZY5{hvDtu?i3IAAgzdD9O zw{5pEwl*97Hql(qam-ZqxdlOPI~w0CN}>@m8)Eac%fqmf2i;cIk%x%931!8&_hX}j z>|Wy2Phs93#9}^-#s6;4ddb)w-yw-Vd3Ea6apW9o`FCWE@5l0LQahRaj*1vRmy!gf zk#)jao)e$qypP{4tq4GwL_!X;rc@QCef#U1_E=J%qakjMOl4xHB$yw;2>5L1lbI@q zQ*h16@I&j;z|i6wAMmvMEuS(|2cybde+HCFo;PBlKGLM|G6nDz?R0d&le9Z0;=1jo zlYQyN9y@$2L&+dQ@S50tEZ8bz+=n4OzaUn1N7qB1l)AH{W%vdpLx(chzPxpM^_ZqI za*h%2#lvVXSu%(dZ)thnD*_ZeALHR{s-3uknC7l%~%{& zUqSyzIwh_xH&KY$cz=5%&B-oBztXmTb8j3?1|zXY)y2m}COS8tJ`^ZY?GnleuobJn zdlOWbrf;qQrHPgg4Af{QPu488-RLA2WJ|Lj4O@iH{=2+?CK?(N8E!Pici;GhcRlto z({cA~o8l5i6yL)_g7KL>fA#}7qF^K&aSJVWGL+dh=3gM7p$adW4xpP%Uw&jn{gbp8 zu>NR0-ewvfWh#JjG2~)frSX>Ej0C5?8g89`5w1X-;4F;NA)97$jzgui(yb*0TkS-3$Y;;BTsn9dff?T@bX)y#)(-&9s^(_-z}i*!F#qcP06# zUkt{-Ux?p*$0}S~3Y#O>L->5D0YWU4TCd*#&AplaAy3agBx6SR)+h!^vy^Q#mU&rA zTVetAn1W_d)h+%*M`I|d#L%X~&Crs(vR4a8juUDR;lnZ!rTYa;h5cT#t9pU3eqeCD zdg2MZWQF>Rp6y9zQtzxtzu2?(tHCev?zxsq_!tTdRhY!!p zVvF%u)GRWQ-^Q>eXPxje(~=9lWWa=L;1b;ZL(DVDnM87l4k zDEb4yW45l03R@UyHNMc}i>n%U#lUIGiBT)Nf?LC%GM8h( zM%B8Pt`<=}EFx42ayk6BlFtEMs^(6ouL%sSwC@}I0WgPIbzb*5-{?LXGD;^ozlc&c zhC>Dr9r=3wU=C{uXYP?k+^YJ zCmfCF2vxJX{VUjXk_K$3^Zems{hU@MeljXp8Hbfjh40092~{Az?8 zaYo>RU$*Iw$iha}WP2jXV~oVm`+?0l@M5kF6rWR*HzcOCI&?V<*)pNND>xAV*AtkR z2Mj)&P)KRH4@Xrk!1j{=yFEt%U=;MKo)jy@vpyi z&*VT0ijB$ygoTq}EsG6wg}DG}AOwtqaEq7&7nvSvit+AZ6u84nu6y$n5n=b!J{xxAHl)YWdr_h+-ae+;==ks2G?5HVnvD-pf&|%A=mtO zPHumiVF8tSQxrs8Uiju}zyOr$gMJPAgz%p`qFXhPG*%^UJ8N?NwRMMFk6d?F9Yk+% zw_vL#{yB!)mf~C}Rz%<55hEHyoRgl?b5NXu6?f^)r++VhA};rdKwV8f*fgc=Sh7~k z%fF6jsL>UM;D?}4d@kac{XN8QmadT=a4tW5S1G=Wrz9~9Ac<2y#Cd=u1t?us;W3&o zRP3xetef~P?vFf77#RObHORW8TsrhIt313g(c44?iHQ6bzuG!)l(`#dM874Z^1ew^ z=ZDy2%iSHFBfT2x1KmvUFez8la*woPBkIRW@wj5frV7AXa*Ya$KMi3WY@u_+iOZkh zHFbCb_!*C6`|Z@?kvs($vPs_Vjy}`fkQWUa<>Ew;kOKKz#q^g;VdF|iUM%I&`@E1l zNovNT^fVwgW)J8E8OcrFRH$M@_<+X+Z^t*xwNJ0TIT%{LXWanDGI9>!0g?3%0( z`Y%5;XU>X8juuVd%Jql!9K%6UE?@8xu=_b<1beB8Y8COn>q|LR!31D9s@g7L?Kqn( z+Tw)^qM}>ww+|yQIj-1ZGPDO?l=gvp)C<1Ud25+>i8&)$E`SVggH3Fm{L_^jHOSnG z2c2xbf@7?Gsh*`k3r(9BQNnH3i2*=>{D*}9bv_hN*vzTN>ccNrpSz4bRjmsZ-3^}z z>w_ZYfC7{kFXCrRLBV`a21zJ@y3zCb87!00!atSXqjdCEvZiCjy{nLd7wpe6XlzukiW&CxX{(u8?su;ZoR91m;lAHs)e40k!m-G##Fc9$wIP7QY5`a)qPKG}CqybJH|6$&6~PU)x&^6l>HRjkhvV6i zK`MEIQ4eMFsD~Tlq1myBNs zv^lEWMisbL>eot-!#~Z3&sxTs5ZP0G5Cn)~a!AWfzU_V9-BoWV0f@L^ooz*S{1$u) z0U@fTLE5BS6MYOXF{8oe+G-%aSuJO``BhIld4{e+LA@U8p@MgRhmNM!7Q0uq;A$~L zJ!sXmb`gh`Oa73mi1&cfr+DE~)GMmKW5m*f)ChGUTk(Y_VAann z$S&dCIim8Q3yELxMj&Glt4|0*H-Cp}EyELetQ{kXG|UrLXj$c+f@%5SimU?nYZ#JX zf4ph72Y9DOducTIyn5j z;ssk*!lNP}I_4pK_PeD>p3m-`5VFKJt6q^*)*9hh7JIL`*-1&_OW@t6X>c{kV3?x@ zHNYDjy>PNZlAEIDdG~B;r>rPsf8;al+MSjClV7h69{E*V_;K+Xv7EbEZi5@EP{P@O zZzbZDv7x00mo{>=pe;lgzLcKR$#ja~oqL+IBCt zE1(!ZFR@*cpvjbC&z5 zPB-JVwsj;|$vz}z?x=_)vfmN}tarpG{(U)N#uH2l^>W-95#^MF@@cb`OUPnx!!``yEL((dC<$_$S67y%6L zVCd2fiI@M_0Y(@#p{n~l(HPeHYFm)mc2*3C>CM3lA(@lZQIkpbb!A%CPfTp&`f1Da zk*BcH_~!(_>4Py?Q&?*!JlhYgP}p5Ux#@o)48EX;+++LNMvNa)k=9&%sNRPChTs%r zbuD8tHX>*Iz(io>YulB{Mjtp}o?il;@7K$|7SRcpe~yI|&ucROyc!@bet;L>1y*7w z5-1@>#!t2SfF(VgHY+?(!14)Ky^oqB_Sb}OvP&h5<05mwJRG+?QUIx{qG=445}^?< zchT?|^cHa0*odz=87jh@Al}-gcIq&X%Y$ai@mJg(k%6OJ1Sb>(9*)kpYj9HL;KV3h z;(_`{UIJ`R1--VR{;*F*Yj+G7%d(jJv)!u{O2F&1=o?y!m0Vh!my0e@pdhTRv`M0q} zO#fX0RltfYAAany3*XnhPE$U&TpkkwkMJYKT7U%^Ww~)iDd&fnSlEH#RP;=D7m*S7 z?VbGQ&kv*NBXKPdPwE4hGkkBZtNnflLHY^h^{fqt(a-mB6x5yH!Jem4MoXrATkcT4 zk2JM3E0%n?i+~S2U;QPyv!9tiN zirZB1FX6+Mhw*k4#d=Bbnrgv1^8q2N1q{q|n0j-{b=%#o#o7F4a6jv#8B%3cBxKXRw6QrE3ar@+?2FYLM=QQ`6(r6L0g(`c6l|~Vdxxhv@iQVBg~pm@$S0h@f;uC*h-JoR zWOf>J1UiJw*LWep_h?HM%qOdZlt_*?%&*Flwg+8(rbrOvRq4t$g~NFX<^KmI{@H5L z@g?UlSX!cjd1lkPV>6E|f}q)&8lCdked7XX+OISxDm0@u^Ki35#1=Jz;65XWzCqwR zF0m`B(UnFyp4>ZY{(Lo?Ey=js)4`IC58&e;PZoM_tQS^X3jEgV9^);BtSlov=T3IST4+c|mc6MurIFw@J*SlgGR{nNg2|*H0 z)y=KWwJJiJ?8|#x){Hz+GUt=bAH-vQP7}n9QdB?Wja(e&{0}2;xhu=Bz7UIG}d-A<_Y+=FHd;Pbmm@jkiged=J z?r)t-Kk?jJAD(IXw4A;-^4?-yfT^~G)`9vTDqz-Dr~&@P$^nq3@2B>hYf)+^z~>CIbXZ#sp)Q{@ zzdsjL)tQPMKWzrfD6e+}Hmam5s{FGJukKBvJHs6QWQ-CqmGlpaU#{q_mxm{3TkfhE zi^*j=4t4V4CQEd8!ZUCri|wv7IbP5T^x(LEWhUVtTTe{DA_}#I98qj0h`R&$hj~%# z8Lmm4Ut>0W^#SNs4y39W8|(&@o*lJF%Pvau)iGl@quJMgNPjNn4ZJc6=?I5-o|xA3 z-gUKzE0L}P4Xr5P?UDv({xWZKUZW5!A!>K+B?>(n*UP;cN0fqyqcqhLI0u>-B15Mm0HJK-CB_mdSu@{)T)RYLjXoa*I^)qVS7MWvKW z<39H2NueBh!VQ5=5=F%ndc)kMu`tUXdC(&@sRz9kmC+rNb@aNvw7n>ss%2-`DxSU{LcKb?V4>ZJ^HU3b!(#(lNX}$x3TE2#kFpW zcpJxFJ_v_66ELH;NUi~md{(^LE~2!snmHYY>GJ_oarmbCX&BXfH3i9qP>)wi5$Py2 z+AQ)1f?Cp|MpEcr0|jseNkmk@lT`k9NADuDB?F5oZ+4Jxp$&y(174Xq#dr20L^79e z8Vsg+by-~D0O+!wRu7{EPPTg^S9Sf@&gaS{T9D}pBmfo-nzyQK;kU~@4XtRV#O@=0 z^I--K!s=e(_ubb2!kk!pz{(}C$1}+M;WlYG=;U8>C9Scphe<#ifENy5sfrs*K=L4 z+37n8sZf%WopFbxA`|jgzi9xp-1SMOBygxZO-|#wO|bB?2RtzwcwXOsJhxr~3)Uu? zk<4t)2yVWsEA3^0l4tU0Ru(L-0pX90dY}+tIXy#6$mBDf@)FTNcx^x%} zoBfMcr!6Q80Omb2&O5dx)TX0FSk9Lv(+;e=vKvob$E$p9bt|HXOHEQ22gBm%`W8Dj z$ZRv$@E)CMfKu@7eD+)Q(gE0SAJ&X>1&*xX>8JN#A0A5Q*I_e3RS#7}o^LZScFl1S zBEzY1*s>LPsv^B_9jX3m>5gcNLi)*=Y<4pD7x&K2u%CU(@7ot?E+nRTdlwsPg6S}^ zsO;|N>ML%5MLeB!^W6R}c-gu&AoVOo&Di=~O93lCUJ4GiL;;IZ3piQ3HZi8?U{IT}Vk5WC`6>g@RP+`wvzV+63}7MQ5J`*V7Z|Rdrb+QQr8aSP)k#J2 z^a4V-+eZ^yFtC53CK9VYWl~h5xS^^fK$8~dM=)Gi9^&U_`*<_!w6U%-O6j6tGj=l{ z1z%cV*$s=|UF$Gb6PeEo9DX?P#dSb^l?16w(1PZQ zZnt3SG%!xHfhd|3Q#zc4d-TFn3X9S3yk?#b`?B1fYXX20Ljlc^jm4C@D-J1Xdv=1t z{5xwUDz)AIZY}Ox52c9eYUsfQ7<&D`gCflZ?@UAow?iY57(f;qoSF9as$%0cr5gd$ zgPwd!p~9Q}jnT-`NMZlKO+V&cieEzkookWne!>2~{-AQ<{|UoehQbYw*2->W|CJ;y zq;gHihNXIeys->i$Mxw^egJT{Zq<1u*S4zfNrm~3(%emj7@(brQ|lfutEg&RNF$&+ zN04m2uCH!)mt;j4s^a{!{Rb$hFG4I8eI&%h5Vh5`b&%~`# z%w{_E%|C-^&Ey?;ZMcFwg^O?AcTI47w|3xDVFJ(6g4QqYgD3$o>C;E8IOv#=ZbK4s z4Gxx;n6Et}x?=nJ1Kqq2iFGpep|Jsx&W!>h5$8W~(h&>N7HHyy?bTN{{Of|_Zn3Zr zs1Pq5xM3S5VvPq1;MrIfl#2NVZ=~+tLL$jor%5+RLvCQTQT|QV)ikHe)uTta;X8(b zH<;C_KL48wYF5LL6t|+dkej^!Vv;dCu&rl271Yp#m5N?u&y5+mXiL$1cHgKDbXc}5 zfFhK!PtmIo0?H}tI(WHzNLH(J&BEh2)zkZcH*lV1OSJ&_yoOSF_($Un#H?LrIZ*+9 zG~@~rev*MRsFB4{poIe^)&z@h9LU|IlcV%D|C_oSS|mDQ+&4f< zqdkWd%2M1>i&W?J5atUa0d?Vz3lgD69!bL}jH3q%G`!gRM@Z-7`BYdO zY!#S^s6S(Q-|VB=Js>fReamDomQ{BF9+6_grjDO{PzgiGB{5@KtSuzx3ULsjnL&!< z)Ux;kf~Q*wF;>E#49#h)zP)Ca!|fXuN98TV8R?O!b?CEx(u$6zRczw-6FpeNV3=4I zH^B;EAvRDce5hGh!#s}&WNumd%Xr)|Yt$u$NBC(0Ofa@&!sQ_6G~#R*_L^$InOm1K z#D%@@X){Bua=2+9A4QnaFyHjm;W0lsO2S?so{MxuXXYC+K+W`WUbgsm^1*9*A}Lyv zHGyA@HVm>^Ad&CL{%Xf|Ls*)ey}a6+L>;9Q`g|r5aJtJoyvw)`zDOkUYvE)gb-C0w z{DcV@pY@Uf1Qu&KOrAcAkF|3aYo19_)I8B5k`6q3$iLFq{Pc@ZL@|!%RnD8SZfHrD z%2rHfE^{L-ZT~SOGdB{Sxv(M-gxdbWnf;;+F@!uV=9*U=^kJ$i4I}JtmI&sq))*cj z>ZNE3*-iDe=i`#NwQROOWF;(HZsB-E)--7wqZr9C7bV08(a?C(VzotRQ54H( z)H5RY@`h}e@zBxn_CUfIQ~S3!-npRwxv3LG2pHRc3~}%W@Opr;5OxDYBJizxe~Wv1 zEC->Oc54;mh>d+qZ%QA#rQgU%J*iAaZzb5&X$24bgF-^7%vUb4(rEfpnS09vQR!MKHu&sbrTT*@tW#TTd=>z zHu;8gBwO7qg$^;8kZ^o_jnOqj> zSg|%4P=oQFFUbX{Iuc`eBj<^!IO!pD$Ds+Dul33m7OnDiKjI49iBX6@k1ET%wG!Z4 zgq;pD-oQNs*%DbLS-OW9*?!9@y@CyB3lQ}9L0TzeTa-$09MiK=+r@WHj67#xbQ8Iy zc|`%E1frYJ2r4;ju1^_FX)1X5sW;2CS!OYL9F2_FPNt!DP#+{R`h#gnqyYc0nK15e^{?mc%g=&M{Wn!AGZY7rLn1?~Ac-$jg z2`es&x)4rhVy3lkK{}2?qf%fc=y^#7^P+i&1{d>8{d?J&jPIL z+2h}6fcaUJl`enoXuWBVa8gppQl-^J9GzcV*`eh}&$X57^H$#hi;*--oaCQe0m$J5 zVXu8~&X5Gbxx=AEIipcxm<|`SdNbF4`jBr!dDZ3QWYy4sc1s%6;$5%#cD2fpPDk6g zW-h9`7jE_>Mfg-wta=Y0Y?i+3Q2qPOZ&c(oYSYgKa<-;KHVl)3iYtWy(6KQ=4|64f zDx@-1G16wQ@F*2-Z>rPT*Dx4X_oDWm*S*9kFaSpL6N86Imr3s8VXXfwFK#X3lxiEF zVfmYhk!HY+1+a}m^8{>w;OSM@bb8|@@j&Z$rd!@aW-}bSzM3@sI|qn9EK~Q?FpL}Y zV{dwANZOVbH2cXBsSLG}r&LsLl1WIy(Hx(oU+&e)l+N-vL|O8Z*;_|CHRmv)-w7JB z5BN4~8>{vg9R=&Gi63XmfnTgjGkEpnt3sn-(?lF;eF|>5h zKnpW7ht&!WSQ?k)U|w7WHxFS?Xt<|K9U3;`sKi|OH}volC2w%-`GA+Ajpq#3FMrWH zz=wHac}r-PY_!IhrP}_JG5_o?tarKFU%wqp9TWrI3Kt$C`*3zA+$o`V+K7Tev(#~s zSfF|LZ+^>-c`e5V5DzXbzM)(68#uKdq>E;^k0%~re!_B8<^Zlq?Ibg?M8)k~s9!Cx z_s!J}Vf%|O-cw1doQ%$%@b`~6AD<;pl@XagY3DNcvyjWs_;GJQ9=V6P$O8J^hJbGN z5LPflkCjab8JFytGiWz3Pto#B73`0shX2{1!%fw0PwQ3l?+bNMJB$boN3 z>80tijl!TS_8H3RoR`n>J+$8Zq0()>dXVO!C_sUISDn_gbZ$qU*2dE64Y2(v3%YCJ zW^g`k6LOq>p@(_r(Dk>!3jfR;r1x=O&IPbA=G{AaS)u3HaZJ-b5~5ItXi?dPIgED1 z9xv*82L+zyT5CG9_L}ioJ{x=_gABPqmP%xSynlN3&&|Fx{TcEJNj5c4z}7~rLH`6} z;J)SpsM?70;c9inWE>d0FIb7&Q8k)3`9}v@=ipGYT zaO0eOpg_h5e8!pyrVA?cO$RR7{N(fR+m8s6c6)^tnPqK2<*$rgysA;EJ#|kg`%r9p z$WqP`OGgQa=f!-~BMkEi-ca)NHgm09hYT^W@YVLj$=2#lPK8Sx#l}Yvy$j&aNEK$#P3hHJR*4!%?GbK;s zP9jB_#kmi501zMCNU%VR7hedwku?hsvVmKHJmt#VTXaFq2?|B~Ja)h{kVxS(m;v#3 z{rba*!2K+M;KJIYws=TA8$;FVl}WrxacB|Mr2=Ufn_hM19?7M>v{FAix09m_b1*Wy zF}2_W5~dWLBjY|npm8-`^pZP)F=<@jJ$=V1;aHK^J_3G~W85QVAxq16)J#kzwBFd; zo^4I@NyBLfTD9~D66TypYwKUTk%d|`h{eUARq9I>F_qA`;mES@^rgpx(jobwUbVmh zQikiwY+{B0Wlo-x1&j40b2cEk{c;buPWFygg?PZNfr% z0fPK%<>a5%_?A6Mv>o-&o85gfc3Txi)^L?c{B_#U^XZ=ndF{X_q<({@RY?Iq^)UA% z|KSj5$K_M+oF*_NNIteOqx>B$wL_IxlcaA6xnzS>N7Nhq5@rgy^Ax5}o$SWt*|$)PoHPlbU~wc&?&+p=C| za8BSm^6mM*I~mZR=w#B}sWepG?bFoh4lLUL^o?YTe{al-}#Xd;wT3KcknAE64-H)06J$Y zzvh~Nm&`eJ1mn;zDcT^{QIw^@$PyRUPBrX1#<}Hy{QrIBAH-_E;33V$4>Zt8EP02C zv)_a;GhFp65GS-&onr3yw4c&V+Mz=fF;!k%Vq9ZoRvYI=b5v^~)%STK$QE9u8GhUt z1#T3o{DhP2qf~ZM060NFPSu}=`Y&oKF~JvX^}NITWH4VJq&1iuf((gn<_rTiEzZ02 zk*;5hHmtgI5Sa81+RvR{O0`VXhyiBjC#C_a3j_;N3$q8f;co$}PL9_9N{Ryf zg>pkW7I1P-=K-sEtHUX5oH)%#@5sJ22Ez#B`l%5{1E{7W*UxH;{2-Ju)m!^i#TjkL z#SBofh>b$G9{+M#!nwL$7Y50DHx8T~b{;dSIzv7VCh#Z282?7K7KB$tcOT=|Q zYqoHdAKi*#6=m|iXrN>FqIU^_McNbDy2`8gUV0!+hATvL93*jpR0AN8!<<#=4j{+p z(|{TD`VhucE=WkmS%Lbz01rxYe(wl=e-!eI95x)n)@rw0$NiccV*L9kLXod) z{y9sPY?mM^j+z^;+%2ohJ#Srqrkl(n-~&r%ab`M4svHOT-9=kqp5Tsl+p1TYA`>TjkG8xB6HLTL5r!ZPKvuRp_Z_pa$vspl z;@eY=N8(YMz{K#>S8!{G9XyLfG_^a~=Dt=__Gs(n^gNf)eY5_}YXk>%**9S$0Y`aA z4CKJ9pOY^z+?54(UD3@qu|4E+zMkHyie}{5QoN`NNWUCt{lVSJT?mr?)@4 zk6;zS#4U{Duv^hoQTu;oGWr1^@mq@}gVPDU=V$Likt_g!t0kp4!>3;rs4Lp|_OXsy7F@>6sdz-L7d3+bys zfF-en<2ZZ*r@d8G&ylq)d60E4`@WLd+xE@miRV$2Mk{pje(KIKy}GcBi9|c<4J{_O zi3M6cNd0r)8fN|7hJ_uU5~&*#$cQQ3_4Otr@4DZ%af}z)>?p`s3q24N>~-8fTbkBJ z`Y+(K${$8;b!U-&Nr|)tR>KtPS1jIs1yL4vPBcWU_3_b)4(;$XnXW5VZCqZ#_f``wE>4x73KpQ zyh2W*@NO2E2L#`-L;R(rT0H~FBue&T14gU-f8i|$L+J-o)C%k-s$ zfEWf0a<*Mb1Wym+aks{%+k-Sm4vu_3p)1*L!Q@J~GVttLd=r~dDgIZA?t&eD=Y zh(9=SkN8RO>Ai7AP(giCc15MC9Z5J{1gPUzeSSEQedDzzOrW$w7CS1uk5g5jB(38& z?s__nls27x*QCnC3~<0_Z;@o>7+veIj`W%}=Z81V-O5DaYB{drPMw zaCLii1O=%#w6opP71TMT+Zx7_7M&wgaGp9rXQn-Z0cFKaq=n-V+~|RrN}aV;=ze`l z_z)Ni`kNn?8q~#Ab1k3Q zVe;v#KE~eH28>xE|2RgsqizmDebrsIcpd>h!^|WA!9;&A=dSp%k{k?WMNkmiF%SX1 zgCeLNe|#K$e1cud*gONMm}`cCQJDEyB!w4is7;UrTRowb5)SY=TXvgFkZhsqf{u55 zd8?$S@DwTM*oWw1==n6Au`yB>PfG9gWz7ckW3mq3Q|_m8g&~awXJ}XWCy=ei=8i4fM0Jt}dHII@I}$+~D7E>Zy$0}Xt=5|VYSEW=J`#@8jd;S` zx0e6&NC|}AVr2Xmj}#iG*9TYoqLHJXqFbGJb=jf5MH;6UB5RO%z6~cF0%`K^RSTmF zfg8kYNk;2@{sPG*f3%d!Y$7OSuVjA4+I0(247l3?Sm+Y1XVOs zEHIjZw_WM8Os$)|ufHS4*uSGOjvwJ%&mC7A*?J$LjNtR4ywi|Xd@ zgzk@KYO}e+7yp(zF!C~((wcus$^j?mv^^0EPTc-cv?)>zanl#};RA{nE2Ba6627OJ z@On*9EzYJw{?C(;wWp8LQ|vekGjQ_EJGO3z#P4>aV(eIE#?jb#$CM&6Z#XD28883d zFPs>3SCweGN!E}>6uoWP%&v==Bie$)ak_VCQgo~D9(iVB^d|R%zd>6^$ZjZ8R=JFm z>-sNe*FOa)sm4!-?$FSAqLbAxWp-lbf<-6FNBqhSuIg=E7 zaSElk7B1~*X{#>4f(hwPHyp+ktj6imG7yL#_rb2%Y!Ab$g5RfW_G4n~ywE-bfn(;a zl3(C(m(9zcB7eP8(9^~_1!Wv?B$_fNv)bnjEjG2XB>bw}@&Umfqr!|iNnZ9WSj^o0 zW(!PXeRD|91}1?;2ktJSTO?70ym{7D?}+^XuPTcF*s<`7Y;_Q7ESM)P9>5PdD@edc zZ)H_al!=;hqaw~#jX#Hkss&!$P5y}4W9Amo@lCq`aSAQ31U6YQ{d)vswKK#gIA%H! zx1(H8PDX_MSG^CT;5?8)#HcoKC-wZmm?fU1=yAL+GEC`>l*i+@@u70p|eu59Mn8W8ft)dE>nx@=m`L6 z(gk67lmg6I)*)x`{WE2i2XjD{NQ}aG zf$O$L!F6Z2r%UCChG45W2zdkSYLclAo+hz=_jsrGLU){E-|vr^xxMtQF4WI!?{LY? zUoh{_g6}J+tW~rlPYeFsV&R0i=@1O$j6xSTw-KseV=@sb3*rlr65pd)kslqi-MpI=DL=<+aH>6*Dg$tAgMGQRoS)J8zq4{R zesAkqVNH{dQ79rSFQeh1;z)0@F}>b0`!!1QBaX2X7GlP+q9nn=ySk4eqz#UNL3Da~bZHQW?j zykr8oWRNLp4a#^m92M(36A}7CYj@cgOXOWD(Lb>VJ6$PF z<;qal@)R$}9=v`>2;-N=*$lC^(UxeyxeM)csfz7G)7b8mrd?y4{+XH++`0BYZN+~N zzc@&^3GALQv&7zQ>SdL0s|%M}1I#|Eft~caOg9lDRhjURSvKiq)w6Gw@QjAJ0DgOu?PeP~XHZK|`xDR|>*;SZ5Oq#2O zQ?ri{OibW%=dl(nF855%bi)Vn=Z|H*!vKvC@5bTSz|#_~@qqTjTiEJvCP^Gmbsahq zY5uE?3sdo~M49*o-)_KZ_5`C;;=({{*@7EZ)zstwik4N1O2h+20-O(xmO0W6R({r) zd?UZk@+-I7Bq{@aCvqxP)^I*#DHiL^Rqpl{yiavwA$F@AsCz#$#VdSLaitDje_Y#L zqZ^GTo6A94Z+aYvDsk_ZgU76oeN*TT+t%ZCE{Mn~5t^^~0Xmp@*QI$FEvM2{W) zjyXI`kjc*$=#uo`kT7>xVfP@6mO%TDos6UGiGHD<_rU+=f>5RVKrfXuF`{m^b^L|+ zwUS3#nH@%>iRz+Yv-YRU{MlnI>L0R?hWgJJ0X00z!v-wo)Qj_rrb8bz;95ozmbP5K zE2`BaEM4}6M;X;ujK%q#1*vC>a4wMa3}9u!Y}c+NpGzxgfhICnY^y$%b0Bg2k_ne0 zHW|&|OA8GX%HY_`_tq+iE8%F;ey*2o8g|%@xDOR17ETHGRFW!?RSe?YH;T1KSSgpi zRCJcxYQ)YjorT9f(G$o{`$Fbxw%fRY1t zbG}poNDP6%J1UJ0hrIYKUi4!Se_HleeuPd4Lh{7=TnZbm@i0q$`Sxq@o00Fq^YIA- zdo)u2&4do`D~Cn*-5^6$n$uxz-_&`K#*bsP^yS&0%j3Wj%jo`_1*4wabe7Ryz{tDz zCuUpFNM`b$CY~Lpbgu*+MdXJiOOm}kz#Z6dGBM^gQSS?3RIv(2@BtT@z8$I#e#tOF zd*$6KxAs^Y-%IB=Z5uco0@?43B0jqU?hO3h_BT>Aj(*>sq2c1pnS2`{2Fmcxt!5wQ z79jCEUDJj*Yiz?E$8N1O;wR#B^))sDa+|Cox^rht0wdjzHPdhpoEDTQhRI!4!@R6bP`E6;I!R{2LgJ(1D4rdYgHeN z2eG7XEE5!5lV#pk*@2GU{~jobo1Q2%Y?cWZAT~MA&(nsy2+|(yK)i%EVrH~_I3-0l zyRkMS9%9DlPNSb8s|XEyqTD{^ZpHy+@>_8Z$y%sPKM5{4LB-jbWf%&Rg>OV3n7-gYsIiB`0AatNEsl3DCArzza<>`WaoY@-$1 z_}|pytPq2O@<&(*m-&ylk?kd4^2OZWt|X*+Pov?~OQV=wtnFJKT!z{90_G;v0fR+O zYv3ccrF>RuKxrJ)6b4=BZQ4|z5_~>CAxe2$zZ-QKY@fsgGC870dI*pf6w;if{Eivk z#f7P!O0BGGTmu%H-76i!qI1_<(g z*!~wXZ;+r?^$m*G+zJTmZwm{o7aIp+-wLFj39=tmC)C~er?vUpe>zw)T_flrvhM~8 zZneOt+wq{tx&H)8rgg{eT~0!1=UMulltuvw#2qoJM|^+Dxu1y#^z=s>9J$ZlF-b2@ zCM8#8d9Y71?)4f@m&3p^G%%U?_K!j7^RVS@)15Hn#=z=!{ejKFv`x6MUdr_F7DaQW;@La9YZ9#% z@F}_>q2rBBMyrcl-s6_es*_&6v3bpxv z<`iJ;UuD1#N`rA4Q_M+P91}f1Se~Vs54M}%E{FGXgyu4{wm{uK=-f#Ev9fp22bd4n z%<$@zx3IS8D<1plz&nUp#6JSuPS2QMYtd5#!@XjI+rO=bvngbmLtgwV+clfu-CfIX zoXz6@D(i>97YHM2-rjyXpYDl@s16Ve_S*Ko%WK!jh{b(s>i)o#Zg= z=ro2t&dB8+ry|Wb*dX#3-2!3~FBr}FXc>;WQ3FIZi{eC~J@z5j^<0%%5G%4fWTrni zat3ppf*XOYxN}b#a9jusLJ7L^r|jrMS=!x9cT_k_IttG#<#DW$oN%I7mcE#Sonh<< z44kOV$3A|l#Kj;}ZPlFb32E3dcBj%c)_j%PTT^AN-6!~CmH&jLQJvU%sRHh~!(wh3 zP2`J7hx^T0@)YFModc5P9~iI*IfZhPVEe{Lj_z4Gp8%R~!S*}RU_WdI;!YTdozqcR zVlMW+`dcB{THiaYO1^tQAVpZ~EleC~h#MNlmr$2;1QP~k6i33SJQQPJC#^g@sq@fX z%;LxB;2VJ##?Lgo5cUVPNM6&RFG|8i;*eNai8pr_<~#>L6w(n3KNF<8^Fa7VB+gil z?yT`vof5^R$-Bb>l*9JCzaAR@xvi(S)OZEbDlSD<)i%&@r|kbhJL)UX7_e_U#>!={ zR>V!g1SH5GRxU@=q5BvI*RnlbY}s|b(ep3TT?rcj1JL?$cyUV3>hzO7Ylwmi>i+kk z((FB@W|bytp{&E7$D}aQ@bYn0xiRG6bggw8W+GFTHDIC_^QG+eWnI9;!3r-N1Jr~z zQ1eUt9~@@(A4{X#sU*QOXRUgC-h(gqZU7Ve;23%lEew6V+UsB_U=B+He|H>@T=zyU zQi+=o>{K(e)IAkS$09EEqLM=$8*aNojDifG@Khrp9Npb}z<{2lH<5&uB&+_@Se6!0 z$;n8@+}W1uvwL{0JRb#7bnac;hB}PZ!PQvi1`bu$_JO{iAx&dp`(N{rKNIh7b^p@6 zcsJ4T*fkBzZ$gG0EgNs;bI)0zz?w+|G8;+OiW*-%PPqm>gc#L5P^|)p5fiz&KkOgf znWM`lh!8cowdqz9aSAd)kIkjkh;Mdf-KAF?tC znIXGMEvVp8`(@tYy$inJ>D+e9D5{&i$zPYJVw!oO$(obYg6TaW8~;J$y;JfS$Te;a zdTu(~1O~BipG=MFTk_(WELG2PRLGAe&WokR^E3dvZKYN*9Cp3$?<%gWQwo2?`cIxx z=2menkJ=Rw!a@6JfVTneGhk#R8yW>+b4OIf04#42jO*qCi^$Y=(>%Kr9HF`<^o+BQ z7QrP%4)V0EBG(TPnL@x$Y87pGdBnFe=De|HSAv_q+9V?ZpW_ALby(VGTVgez6FGn` z{V`Dm_k8l@tk&DJQh$=zNZ+?P3)DY+Qf61a^eu&Mx@c*~fA74+sWpO3b}6jOO`6sJ zYh_mRHE0fDaYsj9?j?0Rd#I)B?38n|_oNrqcrEP}yEz#8uJTH1HY;pvNFvDFzmUjJ zf^F|ju0rdyI|Ra`TjPJ}R{~#iM~&jdYU{}Cj^cbRg8DQf0KBE%VJBqU>J(uPQn%`+U-lL)2oM6{i2;WG;b z?)0wgNZXA{yqp*J)GyB16&C6&|F*?l2kNAT_tv+Xnq*jq0j3mxp}O0Huojl;&e1@^ z6@6h1OugOnOOD4fMUET?Ua9hUn_fODLBpp5BL^+D#2}l^k(w!I#3y3Mtr|9|l`qPr zRkVz3r3uhraEY7Qft6{p2fW(_fYW@EPp;7(QG|n3`es=dIt36j+q(G@YmI@2gOJN_EY;DHlCb$0~_rL zO4eMO>gzzLS#ivJzu7O!saT|$ zK<*v|9?<|}1?$C|_U;Bm0F1nwEQGUZx@$KOERMp9U@>6SMHI1Ws&AH7QRxzsbEf>p zxeX(uAICb3_Nn0Bw}<8PO+n%+Txrr*t0IV+%GYd}&mb-QBZ^H~(h&*gDB#;kWn>IG zO|m~01G}MwCEI?>jG?fP8smH5nHk*ph)ElfIma8QNw0c?A#(UZ6m`M!FZ>kwzBXug zr|i@u*5)ska9}9HqDFxn6qTPjQlFaK=FM@9PyBb}O%A{SOO@^NZW6NAE&k2tDp$r0 zrtuiZN5>ZMngC9QqHSyFmfFd^;PI;0=U;_B_HdCofHF=*!pKLbrH)8!Ux;kruM8BB zkoKIEK5P#HW#<}(+V3Hc|YLEt+|wKwQA2bMSa@v{MeW9 zyoGT^={YO?_uXOm_8Pb?Zu{clgS{t>EqO5$>1~KlUD<4Q7Z>^lku8Y9bn->7TOy@F zd;~p~HL0J++q(Z{ppa{g7D@Ixkfm*x5&@phBvLNw^EO|I8*gy=xXLTAL<_SnJYBC< zM}F#chN4$Otclq2sB&f3(x4_Rl>}ZYdo{6JwTs^Q8t=X&bB!zZkDbN4(_<k?R0bA+Q}&!m zxX%Y|xnk4~O^ML^Lt_&k1potbMDb4RRtuFd@$eoFDU&d;=zb7hScoQ-^I7j}#v%1z zQKoJ9jBcwnGL+1n0lT#q&RKluHDsPq9Y?4<&RFikWuVKwj~*I<rJMTXl(|e{>sdLIqSV)FrANZVr^N2E=?d1x6{fc@6fCA#&rj9>mwZf8YhmC= z$Un~78ax*W1ddrWu|HMA7y(#mMf_3)v`isVc0{eV=BIDIvR_JKzRg&a(_@$gqQ61+ zO8!0k$Ce2JV%`+-M*(hmZ4AjbNHWXQ&@#9#y~QhlV1v16IkR^kXp8D zz9MdA!e!G3Q4&oSg8~iiPaYB~icFt1T^yp(DYl+-w^Xh$majwZR zGdiF{Ivi!jPAY5l8=4cJ+8u#|tu=^_X^PoRjsk>4^myzZCQvd_4TC2t$zHiw_qX5T z^fN$pL>XuiiG*PO$N}(S$9C1yF>8a$m~7OmYoRn!EdsbAZG+J0sj5VkfMt^j^tfPI zqv8$~D)#K$rg=r4=imrQwrkp)tR+oyerSa(=IALF7~9zCnLLw|>YE?^>HHT@-O48L z^{Z1j#GA|ZT~lJ!S<_oMSzN$S8!LP-+MkmFTEZ+rTUJ^}#mt9lqo2lMV3sDUyeb!l zZaCf%9r&`M7WYRXo~d9pC3799^|R@rOOF``0;d!)d|a+?ne}phcU~pJr2=b4tcV=>5hb8_iF#I7bwAM$p}R63-$Z zhDY+(iQ2O0MY?XRkcDE5%-PS;23)`;8*2e%G7u|gQifKNbN3HgTo+EKlM~%yRL9@S zPdbq%$=8(}Mq=u?9rD}BeyBfm==S)AQD0vgAT;YDaKo)z2{Y0sLc9eda#s(yeRu)$9 z**>T5|LKgrwJraKujyjXLh}v9mW9LkNDT%Oq0Q^NM`qRiv*~FuV`>Iz-`Rf+lxN7E zm$rZ~1fY^2wjeQ?2<-pShJ`BX_ymmt@RIVHgCRT6QHW3WVk z?*%zS)9{!}6Eeu?h5mC@QFs5|=`7Op@YR{T{ceyr&OoOV-&z7>s&SQGUA|@fGT)TE zEE72eVFir}18^k(*NCG$atk|r4CSD@YZ|`PJB$8ZFZ7Kl1ege7?cZO{<6NHP-f2v2 za<+S;M+RJi)k%Xr9_)qigNiZ*-0IQ*m5}B9*1L+PcWQ8DrN&o~vjL%OjTCIQ4-7)l zU;Plar}nepN*y$FR0zCGM2~qNCkxDe@z(wi_GQU=NC`&5Ts&j2uHE*LJ%<--GDM6E z1J1d%ye=7WmhwrU+iqzrDkM|~|NRobV3z7KVH&Z*Y_)$S9l(IZ&a7#n$_9SEJhICG zXcU_>>4RZutUenaS5?fJ`D%&I{UAhMTFVWKH`W4v`B>?7U2Yt|^o10-ym#vhM?GMfB7QlhSd}B|-C2QXxtMl9gV1pv^QqDBf zV=rU{xk6tt@Yr@$o&)?{I2&Xw``ow6JGiW>@;2XiDbQN66Jm?^3!%k3Pn7BN*1xh+ zQ3rSA0>7CBd zS7|GG*t+uk?R0b_Gy%N(T@FJJwnnx{>lVEp991At)f+>QCU@vmaFG}t@RbbXwQIc9 z3T3o@kngs+Qv-@2C|E9{mDVb5KZS4+F=c>8mZwD@kUD2zlf`CJ!|EQ5AhR&L?9PI7IBDy)vx5@%b) zGS8Pn)Y1q}NueJGf)VQNAJV^+x4*y9-6qf_T*?Dx?EzR{C{lp_hcGDBZD(n;C@n#J zq7)p6qo!R5c7XBMR0Dnwb`V>{ss%o4S7L9q)xJcmYWZ@*H7_3H!1yL&m(zZFBQI|V zJoCS0?X*s&n`T`G9+NKyp*k*Z{-ziQ$xs0-)uA!tr}aZ4xwzJU-Zy|LA> zR`VrPd|dVgd3VE*gZ)s0Ib|d0*m@B=bIr|ZKMK6WTq^n*{p>CPE#*A6(1h94W7C#? zcctFSthHc5DkuBb9of5;f?$#9lI+_4IoLKXC)y1Z2@m!`6khzc(BAdp^fh%hqq!hSUuvJctEA)N)IXXKvU4nv z+^zloqFaqCY*O}Wx|3A@Z|IDaHt?P6`>IMRv-u|!BZgK$9*3H4G zdl9Qn@v1;KGY%Q&a`U@k6RXt#DA)1o2K7^ap1mv)@YD8$#RILwx5i3wDhLM02ZMs- zE;QK5wdOX3MAKTSJ=Q92BE6PXse%7DKG{GuDNO2A>ZQJ;#9nI8pNW+J>1F-{1G_fx zK|LLiS@g|mtA8)FVjM6y(fB!CZTS7Dihq87Glz`Y8~e0r*VJr~_W>+1V@nQR`{@&J z0i_MkgKF>WPda#ibbR}MCWQLz4ZVQdS6Pm`UJnYPgJ+BsF(#blfbGX?=|9N0bTPBt z63)nCa%P3kG?}Ko7~%xUdAWtn%b>z?qZjl7 z-NzCztY#26Eh~a=q6Y4DVM71Z&-{}sGqT>~%{P(?T`3`h)o!#@-~D+p31!tCfKXnf ziCeGoMxqa_!Tw_is%|^@0}fY2h((G#DawxGPz`ZU`ZQ2^eU|>u?NSWbqa@`!KJ-Oe z$Mr?dPPmUV2#E>;8ypr93*Gw@@F)lXF@aRIvx+J4Rx_9c-d3#qpWDoQ8eZg0t;7;M zroPwM>UUk$W{6u+j89c-BX|oX;w&7Mq!)8<1YNgvKyYB`@0Jsy2=_r6qQjRJ=*)sN z<1O2=|9R-f0`$wi2N&}?K;nVs{UJj0>-3$^CM#)x+A&^i78B|{mV2>fCYWermpkxa zPGF|ZOb^;E{~|oAf@AN><95D3p?w3jc*%C#6GOeu9NX}6-V(+XRh>664v-B)AXh(u zVFsVeBULvjr`p}VL0BR)Ypz3InFV6@`$O3nOff7(RHF(y44oNcb2oH(RkFa9TYqHg z=IkysY9F7(;g<8-FdjwPMKkozPSndClKzq|xvJJy^+?4?+vadeCt1h18@wdjfHPKW zc+BGL{ED!!slPxxvW_1+`*2{M7elP;8Zfw#fQsAPrK1ss1bPr_w$Y<8zUaQ*%HWN z#Q3sCP{j~^pg6PJr41%jH~36=)pP^oP(M|8J;`s2op=yHVfo&?q1^ccW2u*l?r+S{ zgmOURUPlZ*)#6CsnqGpno4IF2Cx@5!*o4U z0)T?j^*$y9J#$w0sB8PJO8O3Vz^Il`*`xU*L1BaQcbUQJj}#*#4im&Jq?)!^cNI++ zK0VdaycVoP6Aj(LOnQ~#+F`xe(&#Ilr~b;Fwv*wuA;nYsn}pg*JVHyafFhn=XS$E= z7ioUFXJomFLv$Jz_5i7g)rmy*ZRcalP|vMDkg51e{!MVj=U&Mi%Os>Stfe&Ml_^{D<`oNTxO_X$Saa9e9 zI^}5UV+i*oyO3qj?Zdt(x*z9w6FGLmk=B)V-{}uw;nt)6&Fi++h91!pQ$$ioe@d5{ z>u99Y@ptvMi{L+BmHsfxECET%t-@I*zQCO_ocpRj5$!k`#4Qr}=f9)cdaw2lx;M)n z^`zg{!XL=*mR2dr(PD4B7;y^?Uo7VES!#arQO2vyUWK2Y4R!PZ|M%{qT;ux`_U2CPHMvGc*yb_XNK4r=Mbp{Vw#-5P85A zD%1vFuQ0b_xGP$-@M7=zm>^wxcZYbFcOP%RYzte7N?X3wn3b(A*?_%cL$On=`o0Rh ztUufwaQ=;@PMT&Rw6ig8J7z;4BJB=Gr<-`;Q6mnh@qD-4ghO(+8#~ne)*_J~yOlT~>M#Vyv5{Uq-paAo=aDF<)+n!Gq28hWkZpDDo49zOW^axtqWsG97yFcW&OQM= zf`bGiQmuN4NPcq%wdC*im11}r@H<%iF`iA@cdz1@Ee;WXSc>y=yRiC-aep4I9Lrum zuC`8e7q-gnIZX71&^d9>(YIGmr&qm5$0Sd8l8#zu|ABEpdLAvA*{&+3)k6KN(lt1eS@8}s& z`G|Vi=Cs|$+jhZ;6XOAeIV@SMq8&OZ8SkZF(%J&Wn%+H8l<1f(gl;jPGvzh^S)vmN z425dP9)(7YLn|_t-+l+C)wS58svMV&YstwMlL!0{6^F(l=ld7F4DueO*D|&T0*Kqd zEyqlcmw@tYs$U%R3l^-}X5SHonj*HQwJq^!yh}Np4ssnc1VM z`V~11@|kuWG@W}atW1uj>(TPuetS!2tBkl4#kIyPY1&dh?!J9{9M0vOxV>0NSh-VF zK>teIzT%b!F^$GGpF7rC2jy;;L1yHE0ICo>t2VD)@sqWHpvDSbmAZHPxJc@1NUTAI zp)tC#Gtr6K=hw&Dyv*Cze6#CMv6g6aZy>2P3BKI-0UEfhQZc2w@3%KD{_Z4+(XvLuz;+gT z_VI2e4|A3IAEoCRG}X-QI_BC51VL6d*AB}W8gXo^jCEJ^EK@Zk9hO(S8)axif<_L83BuO_9;O7xaUE0~5Oy~DI6^}Vdy_Zq^=BQ_=2 zLX7ihI7>L|Rmo)Iyo@QGtx>kIQP3}9>QnY{r+1128KSZ^V5b}*;J?ktG&9LFO8_aZvrwjSBsME^{|H1Mz3{ZbMv@>g649oLE zz`?4>eiFmEMKX#y80yrFD;0&`z4cZrgtNOnO=(M7>#SHwVhO6pEd(e1IT5Xtu;_D< zn?k#$bt#O7TAT8V1R-T?QvB(q{Uk<*W7-gYn6=JVE)R?spZq~6Rw~9Fe!aw5RQYoi zI3+Ex7*Os0-lpWrC_SCg8nD~PRPZEGifNr7w&Dmloq9}JXv5hEdL!8$4$MLMtHE`s^JjSj^kU8J2RkFK=Le-2$)CL=yhn$T)mOW7U+{aS|#>r^Z!uW>b6@eubxblgy3qjHxG&VDTbPEt*ee!J7%*?Xt0Bmq<%~IrD~#hNvDk^eoS@=fdrVW-vBgoGGoP zaMe|2Ely?O$U^uY58wlW>3+Xmt&SCzV-0PI!t(#x)&l8FQhNhsO{pwR6MKT6IfZBW z?BE>X5CR{?Fd{4C*nkd(kQE$Y6`LK3Iy+PA4yZx{@}|3hFM+vBtHXm1Q=!ye_<+yI zqxZ$V_edmmdgMC&P7PHl)}pzz)&g>1^O>Y5lFPo@yGGBsJt|BGvX2o!#=jOVmrUem z2@b9)LjB*PAzg^=x+7m4W&4gdt^YS&v;QTFVV1{0sy*objm<*6ZC!4rtljq=afPQI z6_z+`nZomKfAe8tNzylf(-GXy=#(I5;#xEKz46W&&*2Ur@O8x#oY9pW#1Xn)Qhc}S z^R``%Fz=eZlR{NoVk+Gu>mGHsjVeF@fJ!jvRwc34jmW!29cYa(i9dTMb%S4TPm-DA zClL1p9-DNIXNz+$yyk%%zgr?Q7=H#|y9j5y{IZs)o;x2L6Pz8l28$%{v*Db!)GjlT6*FhkHA9Ur!tSzRw%`A3Xr~yXd?ubr`h3wajP?fu0yz=dV3?5d5`ze-&5Ne@uE@I8S zK4E7ti}9yVl4c)@0?;dil0Zz zDAk$z6Tl@^39K3)iPY8F7ri`uS3oLmux>W>3kw6s+^EOZC}t$|EK+IQqA`hlIN(to z7VC`L!|eW5WB-`_p#bI05Q-KwHG!QVf~q#>U7@5Dmr4IAhAf!LgHP=F{6cPuzM>Xu zDt`}n$N52kkUe8UKHu^-EC@1Wy2^}E=x%XCu2>Z(kB#;ePrx0B03Ksw4sYrX0zxlr zh6?;XLzg(Qmt<*XziQr(&&hC%==Z8)w#mtS&VK=c9NgI8#W)?#*-Wy!v(9nuqc$?e zQ@TW&xV}TR<|sq#aUR&s!T-KZMbhBNt%javhQxQ-iQhJTn;cQbGralg8b#3mRNG)rg?%18wxATjcKwd2wC?Vw>06k|$0ALZgy!+? z0(%3N2BXYVrz1P?{KI-n|&Jnj7$HOGn`cbm+#Nt8xL{DRwwH}G;KWDe`9|scX&$~sOUi+w@o;djOEIMA@uedO-glYJr_}*!AiRvX{)|?Np3$KXI#5POK=LWf4P8UBmc|+Xb zUA!$%9GfM%T{cv9IrK3tnL`YA*qwh{`CD3!Mw^40n$u3=dC~dhDKJ%hk|H=>=n{#! zY}MSZ_w%oF#x`J{6$0q0Ayt6NR3_bD>-i`WG+OTdwF`jMfJTwCVXjx^O1|@?16R_; zvj%ytPN{emSJsx`E&+C#(3Iw#lbW zAMQ0*P}u5X^UU)Id>#@^3=0ICDJ}M!kaxLk9Ykq_oRtx0Z4z!F5s$ zUgN3*7i`4N&U{A98Thwk>AmO+%P5D7pYmF52E1HCd{&sRs>w;R^2J9~!)+~M{VD*A zJdccyi0QQ%Wry;zwr4w9KK-J40eCoiI}L?zzMYtFwE`|Jlt9-jMaxa7US2>c2tuDp zTNE|Hf&U-LTCrFEqV`qiMugoEL?5w3xx2M-jWRTBE!Qc(c2b{wnVyWnkw{c|i{MJO zXoB!c06Mm6h4a-{8q=1F-5mnjqVsmMHgY(YkI{r^?Czx?FlBpdQPyeJYCdK43ffl& zV(@t7g^U-hcm8VWgG10$w-tc8OL^Mcxw6 z){QI@g`lsMf%%5+(Tyv-%9_Gy3&XBe0&Ti8pYp!}*bI+KY?4a;m*q5t1WvcVE>@B5~mCwJ`K<* z9cD5c!+S)gL`C1N9GtSrD_E-uma=ERC=Z7iQS+!GAC0bI52eJ9f*j`d+r(+&*)vL7 z9D(oVh5{F$ZHTsE&sz4tWjfL&FI^}_6JH8H%qKL18X_pzh>x@^P-WS!SiJ@r$bgpa zhfe-a?&$ku3zt|T9vq1h+7%A0B3ewh*b5xp${nyjv4WWLrKED=?ZaUTAHICqQSE-l zPNEllP56c2^LYJ!^L@phnJ=KJ?rKattMT6e}s#lY#XI`thrdb!sC)$WQLLC=?54w>6} zh#lRXe*Z8JB68eHuT<(0g?G0kJ|+DNT_A5f>(xLscWXm6rE7Dq#k@Mq59$@M!d43z zgGXgOZFO&w2U~BGej{0NJ!xI__$oMp^#U#K5^`|4$Y5W(ZvR%c(I^Kqy)+M>euz=yKjC)jJ=%+_Bi>XQ3(Kj z4RM(@P;@W>`Eh3yY`GSBA5nLAkwpRM<-XRm#gh0t{hG-@U6;;nRx_(*Jb170dB<4P z25m~0Tb#BM`ui_I1r~c~D-;T46XL5sdt$$=Qr{xT+9CoXJ6uEe$&0P9H06GpSr&FihNx2rQ7he|#)ma$fvuPo4x_`T)4Bu_GcEZ+tF(T(k- zllw7M8yNfmG_CYP-!1$0#Hp)SN4e9wE=Pz<5i&Z@uCA~fYGfnO1uE07(^lPTlV98A zJ>B(b8fV(6aMihBM`P>hk{&YfS;>mu<*)efM+nzl0La%+oLjcbW5rs>K11)Zo-uPj zD$j_d=>!UiZWySdMao9%-{%SI3yES%?0vMMwArJ4GJVKJgs3&*3MC+SGnu0Hw74GS zV$l{5G5yXrWplEXhQ#g;nUJl@ttP#Un5lc?QCK~T#BH%fx-fln0l0D1kPSGZ#6nY`RDiGTo_kirFISzQ~2)0cIr zDD-#Y?fy62yW? zj`sMrAJu9jI8>wbNSG_Vy-Tlc`c&i(jxd=0&$ek|uW+y~0*g8RFDw8{`rtk$#OYSL z!fQ$(4pYL9SyO{Ww%ZVzIo#2yZ$qVtpdmG1I38D>5*lDN`}#DJ-4v8}iU`1k@F+}*Z`Sp~3(Pu6a zqUPGVzcMT0=zV_HoH9@YVE12&6Pb!(Z+c<>e zi)2WSkz#NcR4<+aSRf$<+kbGM?EKtEEb8*aVC}s8g3tm4vAltxM~l(WH1a30#R}vJ zF;_wK8#3{0v`Nv$Rhwg5;zLeR?TTTn_WUd#YO^Il=HBLN1<pDxMORICx68@+Ibc@ z(;AGn%T|%ff$&)tz7uxo^zv&8O~LV-GR_-}afb3jF;kTY*Z2<8Stw#KQf1L}{@OC1 zA66kLEY#RbW!|mjaoyE=yAfDYV>ID04oDN)qJq#{H~Vt}mCwY+eV@59I~ZDAP_3Ni z096_ zU;Y$y2|RYFR9w3LgH&V;U6x|4SRh3Ly|t?R@i^NC3H2?FL%*VQY-_s2kE^?nByTqc zW!MY-oEDlkFKU;+_}~HLpA9=J;B*Fi6FsiUR>E^szR(DnUsdSsT6_v^*YwI`871#M zV1^bO6l|>E2BUAh?-bMmJt|WX(Y5ns8_1H(x(P||l|vXAdAIG`&Q_pnL2RWLq7G$G zvEP}cGuu>d*r&%#AtA?M@l1sWU9TGQ1&{|yEFH{w&#_eW@=Q1X;$dP`ibclZiB_hsrI@Cv z)4hk~7DYzGv`0q~;O|QPUccN34L5N6WE7|0{+>5=0S&t^G^hhs%hyMz{cEXzBdWI( zmx`X6z(KCCtg6DpaxQo`Yio0FTapA8GcCLtEAN>iz0o9Q!$MbX09%+|g>5#d`c|Ut zo6EIQ6o@51dc|Ps?Lf)x%r1{Y)_l}cvL&2$NSE#`UN;#s$7XLT^Jbu>(Z#$$D!3cA zor}JxfNd)2a(EMq(hn*qrTvBnt}G(pTH^!gM{8fYN!}Pfs`}Xmd7Uml zZxSlG`_*I^!jlQKIo)PM3g0|O_~ElQO_{uGG?yc(LOq8Mmk>SMAh*Kc@3(KyB;N@< zlJAz*QFtZefKmx)^iiPzhIZPZ?gCoQ>ZVSzPUtw2WlWIHviq`H(+Zr|e9MMimfEPK zJcH+7RK905zpe%uwb4yssvMt@wFD05%K9~GJnY9e@=ofwUUIeN&7;2y)z?+tNbwcj zT`K-leXJsngA{@=NHVh=5j|`teBKGY! z8cHqkcEB8X$oFgvG|}n?Dbay?3i0|>R6P-)Zhj^m^DNB;(*s{0ysPx{G5yWe9y^8MHRf{o+K@FT;NUcD`^x}kM%TXM z@58beO|@v>qD_HrdFR;NzNfH^ogfcv?q~b@u0U3~V{lnHXW+`oEPk?ZTzUwR^28Ss z2mP{{j`H~hw65?X5@|EWJnRL|w@{tnbcLm0v(c)GLrmx6R{zP}hj~9RH07Vc!Src) z_o*Fabx_~{_+msT03oXwK+l3}>aTYoLCL_sMZTyYg6k%fJ55Nl_XO{nOJoF)aoaLL zQWI5X&RyP5Xl#lH_Ez@AMJa*3B?%c({d23zf#c@4ANISfWp$T?aQZ{pvlvCC<2;QGb)wosK^WdDnvstJ#tZ(-4SRC-La!rj&gk0_*izV*mLF5Esdq_D8_5tG5p?{@Gh9F3;Fkuk5izGAkIQl1E&-5|X z27jvuxwwkkp9frEq5~wmtls@79Er2c-}1%^)bj zqT$_=n-Pb44h%E0B1i@lac>gL=reU0QPDz%KE* zM@yBWq@*pMNNi6lqce-~FdY=`+0DGxF8ZtBYUBz2DC|@j47E1m%_^7o!&EfpAMH(r-Fy&qf(qr zV=%}4L^$+HfpfIj3n##{LK1K1mA}j@+mM-QZfW&`0`$;B<5FiZtPTD!q@OFBnG)(k zah31lzMLOO>C1g(L7H`;r+WfHT4LUo^>OU|x(yd*>$P+L2>Ipr1EIvF*RZN39^1Iw zr~)XWpR&lK4fz8EIXIm56=iWb?{9KS^3T75cY$t(0G&0pBCQMy#44ACqtJ9)0gIU$TVPYc`Fu ze0gLh3np8%tc?zRbd+fQWzSSiIUdV+me_&*pS>o!uAxD_HUbGsJR9>gn+&XM=Y63s z9Eqo57raRaGjy)sN<^wTkkGdTgo(Nn#2DE)u` z1$>r<+p>3q3!vs6!1$rc!suR>5w2emOU~c#R}?TJ0GAHcQcd!`HSbGUZr^^%b=p6t z`PdrYs1cWU{pnXLfyYtvaYyl7kSX|6K%ZUUrf5PyjJZ-626QGaXf6DxeD;YF^TD1TmaUcjj+XZU_+ zxqZ2>CQD;in$QvgTa7x`8$6L@3}ZWj-w?t|=fD6)qB24;7!v0RqW782W5cCzF8~Ty zXF7sl)o!861Eu}gMi;THS8v=W@he~>^vZ{V@{JB>Z5 z8}e!+9L&9Zgk+!@-jZTP&EciN3cjajMMWMrvBx;ahE99WpVc}Bg<}La7dOuyZmk0$WG`P zvKN$>?vk&oA0{xr&oT@|kls{wDYrSBpkI3^KviiyWg?#?7}REr{|N8f96&wB>=wo^ zc>{PB&4k4p2|%HQ-)Q#~@bnq391meqr-qvogoM3dDMFEfcSSh>>id*m^Q=%yQwi4@>Cz{itx5FURx$n4yrWfut{Yi#Q>rxWy)GN&v2k zVu<@;BExBYRIm4OwJRw}qyB97$`?6`mqDPQNb?$lDOmUwiYu;g*Q*kvld4G8+2Pam zI&k{gEh_%QD(~c|;k+_4uBf1}Q6dQnN3_e7kdQ11Pz>Efm@WIMQ9A3D$R>4dOtXRN z<6XiPBv{I6a397xMMur&J@Ir!d*d>MP^MiKhf3AmM&M>Jxlh?b)|k+}Rkkz^XT7QMyqW|pu8JV35`lRfzfBI4B4j6i^^xzRYKflExGx*2}p F@Br;jCzb#J literal 0 HcmV?d00001 From e265399f020a55bc97d53d58a9a0621c9a02219e Mon Sep 17 00:00:00 2001 From: Ethan Green Date: Mon, 16 Mar 2026 11:00:22 +0200 Subject: [PATCH 23/28] Update schema --- src/assets/data/ecosystem.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/data/ecosystem.json b/src/assets/data/ecosystem.json index 277db3183..1db7d1f65 100644 --- a/src/assets/data/ecosystem.json +++ b/src/assets/data/ecosystem.json @@ -20671,7 +20671,7 @@ "exeNames": [ "Cryo.exe" ], - "packageLoader": "melonloader", + "packageLoader": "recursive-melonloader", "meta": { "displayName": "CRYO", "iconUrl": "cryo.webp" From cd1f5dd90b476e77dbb828495d0b5067e5e11d41 Mon Sep 17 00:00:00 2001 From: Ethan Green Date: Mon, 23 Mar 2026 10:57:18 +0200 Subject: [PATCH 24/28] Add Crawlspace, Big Ambitions - Crawlspace - Big Ambitions --- .../images/game_selection/big-ambitions.webp | Bin 0 -> 40950 bytes public/images/game_selection/crawlspace.webp | Bin 0 -> 12330 bytes src/assets/data/ecosystem.json | 355 +++++++++++++++++- 3 files changed, 349 insertions(+), 6 deletions(-) create mode 100644 public/images/game_selection/big-ambitions.webp create mode 100644 public/images/game_selection/crawlspace.webp diff --git a/public/images/game_selection/big-ambitions.webp b/public/images/game_selection/big-ambitions.webp new file mode 100644 index 0000000000000000000000000000000000000000..1dd5dbb22f9e0cc026ca7a333af6f39421dac070 GIT binary patch literal 40950 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 QSa67?rYn&AIfwuN0OH6rJpcdz literal 0 HcmV?d00001 diff --git a/src/assets/data/ecosystem.json b/src/assets/data/ecosystem.json index 1db7d1f65..de94c7414 100644 --- a/src/assets/data/ecosystem.json +++ b/src/assets/data/ecosystem.json @@ -1626,7 +1626,7 @@ ] } }, - "wikiUrl": "https://atlyss.wiki.gg/wiki/ATLYSS_Wiki", + "wikiUrl": "https://github.com/AtlyssModding/ATLYSS-Modding-Resources", "discordUrl": "https://discord.gg/hQceRJ7pEW", "autolistPackageIds": [ "BepInEx-BepInExPack" @@ -8034,6 +8034,9 @@ }, "tweaks-and-quality-of-life": { "label": "Tweaks & Quality Of Life" + }, + "ai-generated": { + "label": "AI Generated" } }, "sections": { @@ -12111,6 +12114,9 @@ }, "server-side": { "label": "Server-side" + }, + "mod-jam-1": { + "label": "Mod Jam 1 - Void" } }, "sections": { @@ -15541,12 +15547,18 @@ "tools": { "label": "Tools" }, + "cheats": { + "label": "Cheats" + }, "misc": { "label": "Misc" }, "0-62-branch": { "label": "0.62 Branch" }, + "0-66-branch": { + "label": "0.66 Branch" + }, "manual-dependencies": { "label": "Requires Manual Dependencies" } @@ -15556,7 +15568,8 @@ "name": "Main Branch", "excludeCategories": [ "modpacks", - "0-62-branch" + "0-62-branch", + "0-66-branch" ] }, "main-modpacks": { @@ -15565,7 +15578,8 @@ "modpacks" ], "excludeCategories": [ - "0-62-branch" + "0-62-branch", + "0-66-branch" ] }, "0-62": { @@ -15583,6 +15597,22 @@ "modpacks", "0-62-branch" ] + }, + "0-66": { + "name": "0.66 Branch", + "requireCategories": [ + "0-66-branch" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "0-66-modpacks": { + "name": "0.66 Branch Modpacks", + "requireCategories": [ + "modpacks", + "0-66-branch" + ] } }, "wikiUrl": "https://tcg-card-shop-simulator.notion.site/3f8c9de6b54c47a9b80329b40bdd3c2c?v=04938d1088de49e5a55734d498f081ef", @@ -19703,6 +19733,86 @@ ] } }, + "big-ambitions": { + "uuid": "2c4ef1aa-08bb-4ed8-9b74-4a23b390915c", + "label": "big-ambitions", + "meta": { + "displayName": "Big Ambitions", + "iconUrl": "big-ambitions.webp" + }, + "distributions": [], + "r2modman": [ + { + "gameInstanceType": "game", + "distributions": [ + { + "platform": "steam", + "identifier": "1331550" + } + ], + "steamFolderName": "Big Ambitions", + "dataFolderName": "Big Ambitions_Data", + "exeNames": [ + "Big Ambitions.exe", + "Big Ambitions.app" + ], + "packageLoader": "recursive-melonloader", + "meta": { + "displayName": "Big Ambitions", + "iconUrl": "big-ambitions.webp" + }, + "settingsIdentifier": "BigAmbitions", + "internalFolderName": "BigAmbitions", + "packageIndex": "https://thunderstore.io/c/big-ambitions/api/v1/package-listing-index/", + "gameSelectionDisplayMode": "visible", + "additionalSearchStrings": [], + "installRules": [], + "relativeFileExclusions": null + } + ], + "thunderstore": { + "displayName": "Big Ambitions", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "discordUrl": "https://discord.gg/hovgaardgames", + "autolistPackageIds": [ + "LavaGang-MelonLoader" + ], + "shortDescription": "Big Ambitions is a revolutionary role-playing business sim. Go from nothing to the biggest entrepreneur in New York by opening small businesses or slowly building huge corporations any way you like." + } + }, "broforce": { "uuid": "dcebc888-06d8-436f-b7e7-ed08713f68bd", "label": "broforce", @@ -20530,6 +20640,125 @@ ] } }, + "crawlspace": { + "uuid": "52f15796-8648-4247-8a84-9ef16ea2103c", + "label": "crawlspace", + "meta": { + "displayName": "Crawlspace", + "iconUrl": "crawlspace.webp" + }, + "distributions": [], + "r2modman": [ + { + "gameInstanceType": "game", + "distributions": [ + { + "platform": "steam", + "identifier": "1787860" + } + ], + "steamFolderName": "Crawlspace", + "dataFolderName": "Crawlspace_Data", + "exeNames": [ + "Crawlspace.exe" + ], + "packageLoader": "bepinex", + "meta": { + "displayName": "Crawlspace", + "iconUrl": "crawlspace.webp" + }, + "settingsIdentifier": "Crawlspace", + "internalFolderName": "Crawlspace", + "packageIndex": "https://thunderstore.io/c/crawlspace/api/v1/package-listing-index/", + "gameSelectionDisplayMode": "visible", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "isDefaultLocation": true, + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/core", + "isDefaultLocation": false, + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/patchers", + "isDefaultLocation": false, + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/monomod", + "isDefaultLocation": false, + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [] + }, + { + "route": "BepInEx/config", + "isDefaultLocation": false, + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [] + } + ], + "relativeFileExclusions": null + } + ], + "thunderstore": { + "displayName": "Crawlspace", + "discordUrl": "https://discord.gg/BDZ6NjegeR", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "autolistPackageIds": [ + "BepInEx-BepInExPack" + ], + "shortDescription": "You saw an Ad about someone needing help with an odd job, retrieving his daughters missing dolls. Sounding like easy cash, you leave a message telling him you are interested. but as the nights progress, you realize why nobody else wanted to take this job." + } + }, "crime-simulator": { "uuid": "ae24513f-4737-4dfd-8fbd-6879ffdd88d2", "label": "crime-simulator", @@ -28932,7 +29161,7 @@ ] } }, - "wikiUrl": "https://atlyss.wiki.gg/wiki/ATLYSS_Wiki", + "wikiUrl": "https://github.com/AtlyssModding/ATLYSS-Modding-Resources", "discordUrl": "https://discord.gg/hQceRJ7pEW", "autolistPackageIds": [ "BepInEx-BepInExPack" @@ -30718,6 +30947,9 @@ }, "tweaks-and-quality-of-life": { "label": "Tweaks & Quality Of Life" + }, + "ai-generated": { + "label": "AI Generated" } }, "sections": { @@ -31879,6 +32111,9 @@ }, "server-side": { "label": "Server-side" + }, + "mod-jam-1": { + "label": "Mod Jam 1 - Void" } }, "sections": { @@ -32746,12 +32981,18 @@ "tools": { "label": "Tools" }, + "cheats": { + "label": "Cheats" + }, "misc": { "label": "Misc" }, "0-62-branch": { "label": "0.62 Branch" }, + "0-66-branch": { + "label": "0.66 Branch" + }, "manual-dependencies": { "label": "Requires Manual Dependencies" } @@ -32761,7 +33002,8 @@ "name": "Main Branch", "excludeCategories": [ "modpacks", - "0-62-branch" + "0-62-branch", + "0-66-branch" ] }, "main-modpacks": { @@ -32770,7 +33012,8 @@ "modpacks" ], "excludeCategories": [ - "0-62-branch" + "0-62-branch", + "0-66-branch" ] }, "0-62": { @@ -32788,6 +33031,22 @@ "modpacks", "0-62-branch" ] + }, + "0-66": { + "name": "0.66 Branch", + "requireCategories": [ + "0-66-branch" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "0-66-modpacks": { + "name": "0.66 Branch Modpacks", + "requireCategories": [ + "modpacks", + "0-66-branch" + ] } }, "wikiUrl": "https://tcg-card-shop-simulator.notion.site/3f8c9de6b54c47a9b80329b40bdd3c2c?v=04938d1088de49e5a55734d498f081ef", @@ -34128,6 +34387,48 @@ "LavaGang-MelonLoader" ] }, + "big-ambitions": { + "displayName": "Big Ambitions", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "discordUrl": "https://discord.gg/hovgaardgames", + "autolistPackageIds": [ + "LavaGang-MelonLoader" + ], + "shortDescription": "Big Ambitions is a revolutionary role-playing business sim. Go from nothing to the biggest entrepreneur in New York by opening small businesses or slowly building huge corporations any way you like." + }, "broforce": { "displayName": "Broforce", "categories": { @@ -34482,6 +34783,48 @@ "BepInEx-BepInExPack" ] }, + "crawlspace": { + "displayName": "Crawlspace", + "discordUrl": "https://discord.gg/BDZ6NjegeR", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + }, + "autolistPackageIds": [ + "BepInEx-BepInExPack" + ], + "shortDescription": "You saw an Ad about someone needing help with an odd job, retrieving his daughters missing dolls. Sounding like easy cash, you leave a message telling him you are interested. but as the nights progress, you realize why nobody else wanted to take this job." + }, "crime-simulator": { "displayName": "Crime Simulator", "categories": { From c64b1d684370ee10bdc7379beddfc8876a61c4a2 Mon Sep 17 00:00:00 2001 From: Cade Ayres Date: Wed, 25 Mar 2026 12:24:47 +0000 Subject: [PATCH 25/28] Design/activity bar (#2096) * WIP: Added activity bar * WIP: Moved navigation to Activity Bar * WIP: Added design improvements, share and import buttons * WIP: Improved visual of activity bar * WIP: Added dropdown/popover to export profile action and removed ProfileManagementModal * Re-enabled export functionality * Removed import mod from activity bar * Refactored to separate component and added to Help/Config screens * Wrapped router-view in separate div to fix styling issue --- src/App.vue | 48 +- src/components/all.ts | 32 +- src/components/breadcrumbs/Breadcrumb.ts | 5 + .../breadcrumbs/BreadcrumbNavigator.vue | 44 ++ .../modals/ProfileManagementModal.vue | 90 --- .../navigation/ManagerActivityBar.vue | 55 ++ .../navigation/NavigationLayout.vue | 82 ++- src/components/navigation/NavigationMenu.vue | 122 ++-- src/components/v2/ActivityDropdown.vue | 41 ++ src/components/v2/OnlinePreviewPanel.vue | 672 +++++++++--------- src/components/views/InstalledModView.vue | 1 + src/pages/ConfigEditor.vue | 2 + src/pages/GameSelectionScreen.vue | 7 +- src/pages/Help.vue | 2 + src/pages/Manager.vue | 93 +++ src/router/routes.ts | 31 +- src/store/modules/ModalsModule.ts | 10 - 17 files changed, 770 insertions(+), 567 deletions(-) create mode 100644 src/components/breadcrumbs/Breadcrumb.ts create mode 100644 src/components/breadcrumbs/BreadcrumbNavigator.vue delete mode 100644 src/components/modals/ProfileManagementModal.vue create mode 100644 src/components/navigation/ManagerActivityBar.vue create mode 100644 src/components/v2/ActivityDropdown.vue diff --git a/src/App.vue b/src/App.vue index 407578702..cc5595f70 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,8 +1,14 @@ @@ -52,6 +58,7 @@ import { NodeFsImplementation } from './providers/node/fs/NodeFsImplementation'; import { useRouter } from 'vue-router'; import { ProtocolProviderImplementation } from './providers/generic/protocol/ProtocolProviderImplementation'; import { provideProtocolImplementation } from './providers/generic/protocol/ProtocolProvider'; +import BreadcrumbNavigator from 'components/breadcrumbs/BreadcrumbNavigator.vue'; const store = baseStore; const router = useRouter(); @@ -156,3 +163,38 @@ main { grid-template-rows: 100vh; } + + diff --git a/src/components/all.ts b/src/components/all.ts index bb4668cf9..e18ee9920 100644 --- a/src/components/all.ts +++ b/src/components/all.ts @@ -1,15 +1,17 @@ -import Hero from './v2/Hero.vue'; -import Progress from './Progress.vue'; -import ExpandableCard from './ExpandableCard.vue'; -import ModalCard from './ModalCard.vue'; -import DeferredInput from './DeferredInput.vue'; -import ExternalLink from './v2/ExternalLink.vue'; - -export { - Hero, - Progress, - ExpandableCard, - ModalCard, - DeferredInput, - ExternalLink, -} +import Hero from './v2/Hero.vue'; +import Progress from './Progress.vue'; +import ExpandableCard from './ExpandableCard.vue'; +import ModalCard from './ModalCard.vue'; +import DeferredInput from './DeferredInput.vue'; +import ExternalLink from './v2/ExternalLink.vue'; +import ActivityDropdown from './v2/ActivityDropdown.vue'; + +export { + Hero, + Progress, + ExpandableCard, + ModalCard, + DeferredInput, + ExternalLink, + ActivityDropdown, +} diff --git a/src/components/breadcrumbs/Breadcrumb.ts b/src/components/breadcrumbs/Breadcrumb.ts new file mode 100644 index 000000000..8a105a2bd --- /dev/null +++ b/src/components/breadcrumbs/Breadcrumb.ts @@ -0,0 +1,5 @@ +export type Breadcrumb = { + name: () => string; + path: string; + isActive?: boolean; +} diff --git a/src/components/breadcrumbs/BreadcrumbNavigator.vue b/src/components/breadcrumbs/BreadcrumbNavigator.vue new file mode 100644 index 000000000..94eddde57 --- /dev/null +++ b/src/components/breadcrumbs/BreadcrumbNavigator.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/components/modals/ProfileManagementModal.vue b/src/components/modals/ProfileManagementModal.vue deleted file mode 100644 index c9bfc6b16..000000000 --- a/src/components/modals/ProfileManagementModal.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - diff --git a/src/components/navigation/ManagerActivityBar.vue b/src/components/navigation/ManagerActivityBar.vue new file mode 100644 index 000000000..fbd41b079 --- /dev/null +++ b/src/components/navigation/ManagerActivityBar.vue @@ -0,0 +1,55 @@ + + + diff --git a/src/components/navigation/NavigationLayout.vue b/src/components/navigation/NavigationLayout.vue index 56982e2ae..0db83d4a7 100644 --- a/src/components/navigation/NavigationLayout.vue +++ b/src/components/navigation/NavigationLayout.vue @@ -1,42 +1,40 @@ - - - - - + + + + + diff --git a/src/components/navigation/NavigationMenu.vue b/src/components/navigation/NavigationMenu.vue index f540e9720..4718247f7 100644 --- a/src/components/navigation/NavigationMenu.vue +++ b/src/components/navigation/NavigationMenu.vue @@ -1,75 +1,64 @@ @@ -110,10 +99,6 @@ function getTagLinkClasses(routeNames: string[]) { return router && router.currentRoute.value && routeNames.includes(router.currentRoute.value.name as string || "") ? [...base, "is-link"] : [...base, "is-inactive-link"]; } -function openProfileManagementModal() { - store.commit("openProfileManagementModal"); -} - async function launchGame(mode: LaunchMode) { try { await setGameDirIfUnset(activeGame.value); @@ -142,15 +127,18 @@ async function launchGame(mode: LaunchMode) { .menu { display: flex; flex-direction: column; - height: calc(100vh); - //background-color: rgba(11, 20, 32, 0.46); padding-right: 1rem; + height: 100%; & > * { flex: 1; } - &-bottom { + &__top { + flex: 1; + } + + &__bottom { flex: 0; padding-top: 1rem; } diff --git a/src/components/v2/ActivityDropdown.vue b/src/components/v2/ActivityDropdown.vue new file mode 100644 index 000000000..ea2b2d680 --- /dev/null +++ b/src/components/v2/ActivityDropdown.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/components/v2/OnlinePreviewPanel.vue b/src/components/v2/OnlinePreviewPanel.vue index 48929caed..e4726a453 100644 --- a/src/components/v2/OnlinePreviewPanel.vue +++ b/src/components/v2/OnlinePreviewPanel.vue @@ -1,336 +1,336 @@ - - - - - + + + + + diff --git a/src/components/views/InstalledModView.vue b/src/components/views/InstalledModView.vue index 228371209..d079de42d 100644 --- a/src/components/views/InstalledModView.vue +++ b/src/components/views/InstalledModView.vue @@ -58,6 +58,7 @@ const numberOfModsWithUpdates = computed(() => store.getters['profile/mo display: flex; flex: 1; width: 100%; + margin-bottom: 1rem; } #no-mods-installed-info { diff --git a/src/pages/ConfigEditor.vue b/src/pages/ConfigEditor.vue index de9c367ba..fbc2d1dc6 100644 --- a/src/pages/ConfigEditor.vue +++ b/src/pages/ConfigEditor.vue @@ -1,4 +1,5 @@