diff --git a/com.blizzard.Hearthstone/README.md b/com.blizzard.Hearthstone/README.md new file mode 100644 index 0000000..5c00d3f --- /dev/null +++ b/com.blizzard.Hearthstone/README.md @@ -0,0 +1,38 @@ +# Hearthstone +A fast-paced strategy card game + +## Status + +| Arch | Installs | Runs | Notes | +| ----- | -------- | ---- | ---------------------------------------------------------------- | +| 32bit | N/A | N/A | | +| 64bit | Yes | Yes | After installation, the battle.net client *must* first be closed | + +## Build & Install +### Repo +#### 32bit + + flatpak-builder --arch=i386 --force-clean builds --repo=winepak com.blizzard.Hearthstone.yml + flatpak --user install winepak com.blizzard.Hearthstone + +#### 64bit + + flatpak-builder --arch=x86_64 --force-clean builds --repo=winepak com.blizzard.Hearthstone.yml + flatpak --user install winepak com.blizzard.Hearthstone + +### Direct +#### 32bit + + flatpak-builder --user --arch=i386 --force-clean --install builds com.blizzard.Hearthstone.yml + +#### 64bit + + flatpak-builder --user --arch=x86_64 --force-clean --install builds com.blizzard.Hearthstone.yml + +## Run + + flatpak run com.blizzard.Hearthstone + + Note: Make sure that during the first run, you close the battle.net launcher + before signing in. It will be relaunched for you, after which you + can use the client as you would normally do. diff --git a/com.blizzard.Hearthstone/com.blizzard.Hearthstone.appdata.xml b/com.blizzard.Hearthstone/com.blizzard.Hearthstone.appdata.xml new file mode 100644 index 0000000..f751758 --- /dev/null +++ b/com.blizzard.Hearthstone/com.blizzard.Hearthstone.appdata.xml @@ -0,0 +1,60 @@ + + + com.blizzard.Hearthstone.desktop + CC0-1.0 + LicenseRef-proprietary + Hearthstone + A fast-paced strategy card game + +

Sheathe your sword, draw your deck, and get ready for Hearthstone - the fast-paced strategy card game that's easy to learn and massively fun. Start a free game and play your cards to sling spells, summon creatures, and command the heroes of Warcraft in duels of epic strategy.

+
+ + + https://d2vkoy1na2a6o6.cloudfront.net/images/media/screenshots/en-us/ss4-full-aeeaacb3830c9c68ae0bf10c5418d8b56c5b68195a94fcc276d64d4f16e0d05c34f6012234531b09564ffe98bdb72a0898d7369643766ae255ec52ddb8539874.jpg + + + https://d2vkoy1na2a6o6.cloudfront.net/images/media/screenshots/en-us/ss5-full-7d4989a6037604c0ba10efb3029fa879a527c93f8ec07fa37e753dd6ec40712b71c96259225345d01de3453fc165d6d4bb398f201916dddebec74350e0970117.jpg + + + https://d2vkoy1na2a6o6.cloudfront.net/images/media/screenshots/en-us/ss1-full-72f425379264f9def23c9445d81c7f55740121789ff98f083f2a0f5e9b1f75ccb20315c42cc7d9142d5745a5d67d5c89900d608d3ecca721eb5827a3f53688a7.jpg + + + https://d2vkoy1na2a6o6.cloudfront.net/images/media/screenshots/en-us/ss2-full-244c09bab5752fb44972016c838ce4834e474685fc1e04860ddef035fe7ced61cc919cd5fad96e3b926e5ad7ae8775de091aa5fc283bf306ff36e66d4b757298.jpg + + + https://d2vkoy1na2a6o6.cloudfront.net/images/media/screenshots/en-us/ss3-full-358d2b15e8a699c615ba1c9fae7dd78747c37035330c84284b40a6643731c138315e22e39770f1597f5413531d5ddf26ae8e5e9cec5c77a4d862304d68f6b917.jpg + + + winepak + Blizzard Entertainment + + https://playhearthstone.com + https://us.battle.net/support/en/games/hearthstone + https://us.battle.net/forums/en/hearthstone/10591462/ + + + Game + Strategy + + + + moderate + mild + mild + mild + moderate + intense + intense + mild + + + + + +
    +
  • Initial release of Hearthstone via winepak.
  • +
+
+
+
+
diff --git a/com.blizzard.Hearthstone/com.blizzard.Hearthstone.desktop b/com.blizzard.Hearthstone/com.blizzard.Hearthstone.desktop new file mode 100644 index 0000000..f7a9efc --- /dev/null +++ b/com.blizzard.Hearthstone/com.blizzard.Hearthstone.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Hearthstone +Comment=A fast-paced strategy card game +Exec=hearthstone %U +Icon=com.blizzard.Hearthstone +StartupNotify=true +Terminal=false +Type=Application +MimeType=application/x-ms-dos-executable;application/x-msi;application/x-ms-shortcut; +Categories=Game;Strategy; +Keywords=Hearthstone;Blizzard;Strategy;Hearthstone; diff --git a/com.blizzard.Hearthstone/com.blizzard.Hearthstone.svg b/com.blizzard.Hearthstone/com.blizzard.Hearthstone.svg new file mode 100644 index 0000000..1b737a6 --- /dev/null +++ b/com.blizzard.Hearthstone/com.blizzard.Hearthstone.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + diff --git a/com.blizzard.Hearthstone/com.blizzard.Hearthstone.yml b/com.blizzard.Hearthstone/com.blizzard.Hearthstone.yml new file mode 100644 index 0000000..2522a7d --- /dev/null +++ b/com.blizzard.Hearthstone/com.blizzard.Hearthstone.yml @@ -0,0 +1,157 @@ +app-id: com.blizzard.Hearthstone +branch: stable + +runtime: org.winepak.Platform +runtime-version: 3.0 +sdk: org.winepak.Sdk + +base: com.blizzard.BattleNet.BaseApp +base-version: stable + +command: hearthstone + +inherit-extensions: + - org.winepak.Platform.Compat32 + - org.winepak.Platform.Extension.corefonts + - org.winepak.Platform.Extension.vcrun2015 + +add-extensions: + org.winepak.Platform.Extension.d3dx9: + directory: lib/extension/d3dx9 + version: 3.0 + no-autodownload: false + + org.winepak.Platform.Wine: + directory: lib/wine + version: 3.9-staging + add-ld-path: lib + no-autodownload: false + + org.winepak.Platform.Wine.Compat32: + directory: lib/wine-32bit + version: 3.9-staging + add-ld-path: lib + no-autodownload: false + +tags: + - proprietary + +finish-args: + - --socket=x11 + - --socket=pulseaudio + - --share=ipc + - --share=network + - --device=dri + - --allow=multiarch + - --allow=devel + +modules: + - name: setup-wine + buildsystem: simple + build-commands: + - mkdir -p /app/lib/wine + + - name: setup-wine-compat32 + buildsystem: simple + build-commands: + - mkdir -p /app/lib/wine-32bit + + - name: setup + buildsystem: simple + build-commands: + - mkdir -p /app/lib/extension/d3dx9 + + - name: hearthstone + only-arches: + - x86_64 + buildsystem: simple + build-commands: + - install -d /app/bin + - install hearthstone-installer /app/bin + - install hearthstone /app/bin + - install -Dm644 com.blizzard.Hearthstone.appdata.xml /app/share/appdata/com.blizzard.Hearthstone.appdata.xml + - install -Dm644 com.blizzard.Hearthstone.svg /app/share/icons/hicolor/scalable/apps/com.blizzard.Hearthstone.svg + - install -Dm644 com.blizzard.Hearthstone.desktop /app/share/applications/com.blizzard.Hearthstone.desktop + + sources: + - type: script + dest-filename: hearthstone-installer + commands: + - if [ -z "$WINEPREFIX" ]; then + - ' echo "No wine prefix set or is empty, abort."' + - ' exit 1' + - fi + - + - source /app/bin/battlenet-installer "battlenet://WTCG" + - + - if [[ $? != 0 ]] ; then + - ' echo "Battle.net installer failed, abort."' + - ' exit 1' + - fi + - + - if [ -e "${WINEPREFIX}/dosdevices/c:/Program Files (x86)/Hearthstone" ] ; then + - ' echo "This prefix already has an exisiting ''Hearthstone'' install at ${WINEPREFIX}"' + - ' echo "In order to install ''Hearthstone'' you must move or delete the current prefix."' + - ' exit 1' + - fi + - + - echo "Installing Extension(s)..." + - + - echo "Installer finished" + - + - echo "Performing tweak(s)..." + - echo "Clear Windows Version" + - wine64 reg delete 'HKLM\Software\Microsoft\Windows\CurrentVersion' /v SubVersionNumber /f + - wine64 reg delete 'HKLM\Software\Microsoft\Windows\CurrentVersion' /v VersionNumber /f + - wine64 reg delete 'HKLM\Software\Microsoft\Windows NT\CurrentVersion' /v CSDVersion /f + - wine64 reg delete 'HKLM\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuildNumber /f + - wine64 reg delete 'HKLM\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentVersion /f + - wine64 reg delete 'HKLM\System\CurrentControlSet\Control\ProductOptions' /v ProductType /f + - wine64 reg delete 'HKLM\System\CurrentControlSet\Control\ServiceCurrent' /v OS /f + - wine64 reg delete 'HKLM\System\CurrentControlSet\Control\Windows' /v CSDVersion /f + - wine64 reg delete 'HKCU\Software\Wine' /v Version /f + - wine64 reg delete 'HKLM\System\CurrentControlSet\Control\ProductOptions' /v ProductType /f + - + - echo "Set Windows Version to 10" + - wine64 reg add 'HKLM\System\CurrentControlSet\Control\ProductOptions' /v ProductType /d 'WinNT' /f + - wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CSDVersion /d '' /f + - wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuildNumber /d '10240' /f + - wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentVersion /d '10.0' /f + - wine64 reg add 'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Windows' /v CSDVersion /t REG_DWORD /d 00000000 /f + - + - echo "Set Hearthstone to run with directx9" + # FIXME: This is not very robust. If the batllenet project + # ever decides to set "Games", or do anything other + # than closing the json dict on the final line, this + # will break horribly. + - 'sed -i ''$d'' "${WINEPREFIX}/dosdevices/c:/users/${USER}/Application Data/Battle.net/Battle.net.config"' + - 'echo '',"Games": { "hs_beta": { "AdditionalLaunchArguments": "-force-d3d9" } } }'' >> "${WINEPREFIX}/dosdevices/c:/users/${USER}/Application Data/Battle.net/Battle.net.config"' + + - type: script + dest-filename: hearthstone + commands: + - export WINEARCH=win64 + - + - if ! [ -e "${WINEPREFIX}/dosdevices/c:/Program Files (x86)/Battle.net" ] ; then + - ' source /app/bin/hearthstone-installer' + - ' if [[ $? != 0 ]] ; then' + - ' echo "Installation failed, abort."' + - ' exit 1' + - ' fi' + - fi + - + - echo "Verify \"Battle.net Helper.exe\" doesn't launch..." + - if [ -f "${WINEPREFIX}/dosdevices/c:/Program Files (x86)/Battle.net/Battle.net*/Battle.net Helper.exe" ] ; then + - ' mv "${WINEPREFIX}/dosdevices/c:/Program Files (x86)/Battle.net/Battle.net*/Battle.net Helper.exe" "${WINEPREFIX}/dosdevices/c:/Program Files (x86)/Battle.net/Battle.net*/Battle.net Helper.exe.bak"' + - fi + - + - wine64 "${WINEPREFIX}/dosdevices/c:/Program Files (x86)/Battle.net/Battle.net Launcher.exe" "battlenet://WTCG" + + - type: file + path: com.blizzard.Hearthstone.appdata.xml + + - type: file + path: com.blizzard.Hearthstone.svg + + - type: file + path: com.blizzard.Hearthstone.desktop