Add by currently broken titles

This commit is contained in:
Peder Bergebakken Sundt 2023-06-29 00:11:39 +02:00
parent eeddc85c71
commit 44712d613d
4 changed files with 219 additions and 4 deletions

View File

@ -52,16 +52,15 @@
pokemon-project-untamed = callPackage ./games/project-untamed.nix { };
pokemon-infinity = callPackage ./games/infinity.nix { wine = winePackages.full; wineArch = "win32"; };
pokemon-uranium = callPackage ./games/uranium.nix { wine = winePackages.full; wineArch = "win32"; };
pokemon-clockwork = callPackage ./games/clockwork.nix { wine = winePackages.full; wineArch = "win32"; };
pokemon-xenoverse = callPackage ./games/xenoverse.nix { wine = winePackages.full; wineArch = "win32"; };
pokemon-anil = callPackage ./games/anil.nix { wine = winePackages.full; wineArch = "win32"; };
};

69
games/anil.nix Normal file
View File

@ -0,0 +1,69 @@
{ lib
, fetchFromDrive
, fetchurl
, mkWindowsApp
, wine
, wineArch
, unrar
, makeDesktopItem
, makeDesktopIcon
, copyDesktopItems
, copyDesktopIcons
}:
let uid = "pkmn-anil";
in mkWindowsApp rec {
pname = "Pokemon Anil";
version = "1.12";
meta.homepage = "https://pokemerald.com/pokemon-anil-download-completed-english-version/";
meta.description = "The Definitive Kanto Remake, presented in a timeless form using Pokémon BW2 graphics, updated narrative and many QoLs and options that brings infinite replayability";
# 013c:err:module:import_dll Library libglib-2.0-0.dll (which is needed by L"C:\\pkmn-anil\\fluidsynth.dll") not found
# 013c:err:module:import_dll Library libportaudio-2.dll (which is needed by L"C:\\pkmn-anil\\fluidsynth.dll") not found
# 013c:err:module:import_dll Library libreadline8.dll (which is needed by L"C:\\pkmn-anil\\fluidsynth.dll") not found
# 013c:err:module:import_dll Library libsndfile-1.dll (which is needed by L"C:\\pkmn-anil\\fluidsynth.dll") not found
meta.broken = true;
dontUnpack = true;
src = fetchFromDrive rec {
name = "POKEMON ANIL V${version} ENGLISH COMPLETE.rar";
url = "112KKuclpNSJ-JXDob2FhKiPKHTEViInq";
hash = "sha256-dg2cpXOISAX3dr10NBXA+Gwp+8vTeOxgtRkeM84JwSA=";
assert_exists = [ name ];
};
inherit wine wineArch;
nativeBuildInputs = [ copyDesktopItems copyDesktopIcons ];
installPhase = ''
runHook preInstall
ln -s $out/bin/.launcher $out/bin/${lib.escapeShellArg pname}
runHook postInstall
'';
winAppInstall = ''
winetricks -q directplay directmusic
${unrar}/bin/unrar x ${src} "$WINEPREFIX/drive_c/"
mv -v "$WINEPREFIX/drive_c/POKEMON ANIL V${version} ENGLISH COMPLETE/Pokemon Anil V${version}/" "$WINEPREFIX/drive_c/${uid}"
mv -v "$WINEPREFIX/drive_c/POKEMON ANIL V${version} ENGLISH COMPLETE/"* "$WINEPREFIX/drive_c/${uid}/"
rmdir -v "$WINEPREFIX/drive_c/POKEMON ANIL V${version} ENGLISH COMPLETE"
mkdir -vp "$WINEPREFIX/drive_c/windows/fonts"
cp -v "$WINEPREFIX/drive_c/${uid}/Fonts/"* "$WINEPREFIX/drive_c/windows/fonts/"
'';
fileMap."$HOME/.local/share/${uid}/Saved Games"
= "drive_c/users/$USER/Saved Games";
winAppRun = ''
$WINE start /unix "$WINEPREFIX"/drive_c/${uid}/Game.exe "$ARGS"
'';
desktopItems = [
(makeDesktopItem {
name = pname;
exec = pname;
desktopName = pname;
categories = ["Game"];
})
];
}

74
games/infinity.nix Normal file
View File

@ -0,0 +1,74 @@
{ lib
, fetchFromMediafire
, fetchurl
, mkWindowsApp
, wine
, wineArch
, unzip
, makeDesktopItem
, makeDesktopIcon
, copyDesktopItems
, copyDesktopIcons
}:
let uid = "pkmn-infinity";
in mkWindowsApp rec {
pname = "Pokemon Infinity";
version = "2.3.6";
meta.homepage = "https://reliccastle.com/infinity/";
meta.description = "You wake up in the middle of a forest in the Egho region, with no recollection of who you are.";
# fmod error
meta.broken = true;
dontUnpack = true;
src = fetchFromMediafire rec {
name = "Pokemon Infinity ${version}.zip";
url = "https://www.mediafire.com/file/dlssk830cxdvo5y/Pokemon_Infinity_2.3.6.zip/file";
hash = "sha256-ggKqd/3g3kcfs85pFULHfHmSoWHTzCFsRRdmlm7/wHs=";
assert_exists = [ name ];
};
inherit wine wineArch;
nativeBuildInputs = [ copyDesktopItems copyDesktopIcons ];
installPhase = ''
runHook preInstall
ln -s $out/bin/.launcher $out/bin/${lib.escapeShellArg pname}
runHook postInstall
'';
winAppInstall = ''
#winetricks -q directplay directmusic #dsound dmsynth devenum quartz d3dx9_36
${unzip}/bin/unzip ${src} -d "$WINEPREFIX/drive_c/"
mv -v "$WINEPREFIX/drive_c/Pokemon Infinity ${version}" "$WINEPREFIX/drive_c/${uid}"
mkdir -vp "$WINEPREFIX/drive_c/windows/fonts"
cp -v "$WINEPREFIX/drive_c/${uid}/Fonts/"* "$WINEPREFIX/drive_c/windows/fonts/"
'';
fileMap."$HOME/.local/share/${uid}/Saved Games"
= "drive_c/users/$USER/Saved Games";
winAppRun = ''
$WINE start /unix "$WINEPREFIX"/drive_c/${uid}/Game.exe "$ARGS"
'';
desktopItems = [
(makeDesktopItem {
name = pname;
exec = pname;
icon = uid;
desktopName = pname;
categories = ["Game"];
})
];
desktopIcon = makeDesktopIcon {
name = uid;
icoIndex = 0;
src = fetchurl {
url = "https://static.wikia.nocookie.net/p-infinity/images/e/e6/Site-logo.png";
hash = "sha256-wKQgEb/TguZQcjBRmn0f3H4N2ZU49sFfU2Z4c+Cq/Zw=";
};
};
}

73
games/xenoverse.nix Normal file
View File

@ -0,0 +1,73 @@
{ lib
, fetchFromMega
, fetchurl
, mkWindowsApp
, wine
, wineArch
, unrar
, makeDesktopItem
, makeDesktopIcon
, copyDesktopItems
, copyDesktopIcons
}:
let uid = "pkmn-clockwork";
in mkWindowsApp rec {
pname = "Pokemon Clockwork";
version = "1.9.0";
meta.homepage = "https://pokemonclockwork.wixsite.com/clockworkgame";
meta.description = "Discover the brand new world of Rosari, filled with adventure and mystery surrounding the Mythical Pokémon Celebi!";
# has a launcher, persists downloaded game in .local.
# the bottle closes once the launcher exits, but the game still runs?
meta.broken = true;
dontUnpack = true;
src = fetchFromMega rec {
name = "Setup.msi";
url = "https://mega.nz/file/pCBWBaxK#5LZjsYXaMu3CQhX9zz0EkSeTqIeqmyVD39ME8TYZj6U";
hash = "sha256-H0dcGSffxDdscsD0FFQloP2rKFRwMWylKBqPb//9fHM=";
assert_exists = [ name ];
};
inherit wine wineArch;
nativeBuildInputs = [ copyDesktopItems copyDesktopIcons ];
installPhase = ''
runHook preInstall
ln -s $out/bin/.launcher $out/bin/${lib.escapeShellArg pname}
runHook postInstall
'';
winAppInstall = ''
msiexec /i ${src} /quiet /qn
'';
fileMap."$HOME/.local/share/${uid}/user/$USER"
= "drive_c/users/$USER";
fileMap."$HOME/.local/share/${uid}/gamedata/Xenoverse Per Aspera Ad Astra"
= "drive_c/Program Files/XenoTeam/Xenoverse/Xenoverse Per Aspera Ad Astra";
winAppRun = ''
$WINE start /unix "$WINEPREFIX/drive_c/Program Files/XenoTeam/Xenoverse/XenoverseLauncher.exe" "$ARGS"
'';
desktopItems = [
(makeDesktopItem {
name = pname;
exec = pname;
icon = uid;
desktopName = pname;
categories = ["Game"];
})
];
desktopIcon = makeDesktopIcon {
name = uid;
icoIndex = 0;
src = fetchurl {
url = "https://static.wixstatic.com/media/e1c82c_1208b7119adb4ed1a26700a0d6a5a984~mv2.png/v1/crop/x_237,y_146,w_1445,h_788/fill/w_1394,h_756,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/TITLE.png";
hash = "sha256-ZWtb45gRuxG2LJBEb0cJspQgUkqUs+N66aXkGSsl8tc=";
};
};
}