fix: Fixed romm login, now uses token
feat: Moved romm to internal plugin fix: Made focusing and navigation more reliable fix: Loading errors on first time launch
This commit is contained in:
parent
7c10f4e4c2
commit
816d50ae4d
81 changed files with 1659 additions and 1097 deletions
64
src/bun/api/hooks/games.ts
Normal file
64
src/bun/api/hooks/games.ts
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
import { EmulatorPackageType, GameListFilterType } from '@/shared/constants';
|
||||
import { SyncBailHook, AsyncSeriesHook, SyncWaterfallHook, AsyncSeriesBailHook, AsyncHook, AsyncParallelHook, SyncHook, AsyncSeriesWaterfallHook } from 'tapable';
|
||||
|
||||
export class GameHooks
|
||||
{
|
||||
/** override the launch command for an emulator
|
||||
* @param ctx.autoValidCommands The auto generated command for example based on the ES-DE listing
|
||||
* @param ctx.emulator The emulator ID if any
|
||||
* @param ctx.game.source The source of the game
|
||||
* @param ctx.game.sourceId The ID of the source. This could be for example the ROMM ID the game was
|
||||
* @returns The argument list to be used when running the emulator.
|
||||
* If no emulator bin in the command entry is found the actual command will be used as the bin.
|
||||
*/
|
||||
emulatorLaunch = new AsyncSeriesBailHook<[ctx: {
|
||||
autoValidCommand: CommandEntry;
|
||||
game: {
|
||||
source: string;
|
||||
id: number;
|
||||
};
|
||||
}], string[] | undefined>(['ctx']);
|
||||
/**
|
||||
* Fetches and returns a list of games converted to frontend.
|
||||
* @param ctx.localGameIds This is local game ids in the format '<source>@<sourceId>'
|
||||
*/
|
||||
fetchGames = new AsyncSeriesHook<[ctx: {
|
||||
query: GameListFilterType;
|
||||
games: FrontEndGameType[];
|
||||
}]>(['ctx']);
|
||||
fetchGame = new AsyncSeriesBailHook<[ctx: {
|
||||
source: string;
|
||||
localGame?: FrontEndGameTypeDetailed;
|
||||
id: string;
|
||||
}], FrontEndGameTypeDetailed | undefined>(['ctx']);
|
||||
/** Get download file URLs
|
||||
* @param ctx.checksum Check if file already exists using checksums
|
||||
*/
|
||||
fetchDownloads = new AsyncSeriesBailHook<[ctx: {
|
||||
source: string;
|
||||
id: string;
|
||||
}], DownloadInfo | undefined>(['ctx']);
|
||||
fetchRecommendedGamesForGame = new AsyncSeriesHook<[ctx: {
|
||||
game: FrontEndGameTypeDetailed,
|
||||
games: (FrontEndGameType & { metadata?: any; })[];
|
||||
}]>(['ctx']);
|
||||
fetchRecommendedGamesForEmulator = new AsyncSeriesHook<[cts: {
|
||||
emulator: EmulatorPackageType;
|
||||
systems: EmulatorSystem[];
|
||||
games: FrontEndGameType[];
|
||||
}]>(['ctx']);
|
||||
fetchPlatform = new AsyncSeriesBailHook<[ctx: {
|
||||
source: string;
|
||||
id: string;
|
||||
}], FrontEndPlatformType | undefined>(['ctx']);
|
||||
platformLookup = new AsyncSeriesBailHook<[ctx: {
|
||||
source: string;
|
||||
id: string;
|
||||
}], { slug: string; } | undefined>(['ctx']);
|
||||
fetchPlatforms = new AsyncSeriesHook<[ctx: {
|
||||
platforms: FrontEndPlatformType[];
|
||||
}]>(['ctx']);
|
||||
updatePlayed = new AsyncSeriesWaterfallHook<[ctx: { source: string, id: string; }], boolean>(["ctx"]);
|
||||
fetchCollections = new AsyncSeriesHook<[ctx: { collections: FrontEndCollection[]; }]>(['ctx']);
|
||||
fetchCollection = new AsyncSeriesBailHook<[ctx: { source: string, id: string; }], FrontEndCollection | undefined>(['ctx']);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue