Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.github/workflows/* text eol=lf
changelog.md text eol=lf
Manifests/* text eol=lf
308 changes: 260 additions & 48 deletions .github/workflows/generate_release_artifacts.yml

Large diffs are not rendered by default.

40 changes: 26 additions & 14 deletions .github/workflows/msbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@ on:
push:
branches: [ "master" ]
# build handled by release packaging workflow
tags-ignore:
- v0.*
tags:
- build-[v]+[0-9]+.[0-9]+.[0-9]+*
pull_request:
branches: [ "master" ]
# build handled by release packaging workflow
tags-ignore:
- v0.*
- v[0-9]+.[0-9]+.[0-9]+*


env:
# Path to the solution file relative to the root of the project.
Expand All @@ -36,17 +37,28 @@ jobs:
runs-on: windows-2019

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4

- name: Update extension.yaml
uses: fjogeleit/yaml-update-action@main
with:
valueFile: 'extension.yaml'
changes: |
{
"Links.Url": "${{github.server_url}}/${{github.repository}}",
"Author": "${{github.repository_owner}}"
}
commitChange: true

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2

- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: nuget restore ${{env.SOLUTION_FILE_PATH}}

- name: Build app for release
working-directory: ${{env.GITHUB_WORKSPACE}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} /verbosity:diag
- name: Build app for release
working-directory: ${{env.GITHUB_WORKSPACE}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} /verbosity:diag
3 changes: 3 additions & 0 deletions HumbleKeysLibrary.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,9 @@
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
<PackageReference Include="PlayniteSDK" Version="6.9.0" />
</ItemGroup>
<ItemGroup>
<Content Include="changelog.md" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="Gather artifact sources for PEXT creation" AfterTargets="Build">
<Copy SourceFiles="$(OutputPath)\extension.yaml" DestinationFolder="$(OutputPath)/pext/sources"/>
Expand Down
8 changes: 4 additions & 4 deletions Manifests/HumbleKeysLibrary_AddonDB.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
AddonId: 62ac4052-e08a-4a1a-b70a-c2c0c3673bb9
IconUrl: https://raw.githubusercontent.com/FiercePunchStudios/HumbleKeysLibrary/master/icon.png
IconUrl: https://raw.githubusercontent.com/ecenshu/HumbleKeysLibrary/master/icon.png
Type: GameLibrary
InstallerManifestUrl: https://raw.githubusercontent.com/FiercePunchStudios/HumbleKeysLibrary/master/Manifests/HumbleKeysLibrary_Installer.yaml
InstallerManifestUrl: https://raw.githubusercontent.com/ecenshu/HumbleKeysLibrary/master/Manifests/HumbleKeysLibrary_Installer.yaml
ShortDescription: Imports and tags game keys from Humble for user sorting purposes.
Description: |
Humble Keys Library is a library plug-in extension for Playnite which queries Humble Bundle for third-party keys.
The plugin allows you to search your entire collection for a game, to make sure you don't buy a new copy in the latest sale if you already have one from a previous Humble Bundle.
Name: Humble Keys Library
Author: Fierce Punch Studios
Author: ecenshu
Links:
Playnite Forums thread: https://playnite.link/forum/thread-1244.html
SourceUrl: https://github.com/FiercePunchStudios/HumbleKeysLibrary
SourceUrl: https://github.com/ecenshu/HumbleKeysLibrary
83 changes: 78 additions & 5 deletions Manifests/HumbleKeysLibrary_Installer.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,83 @@
AddonId: 62ac4052-e08a-4a1a-b70a-c2c0c3673bb9
Packages:
- Version: 0.3.0
RequiredApiVersion: 6.9.0
ReleaseDate: "2025-03-17"
PackageUrl: https://github.com/Dasmius007/HumbleKeysLibrary/releases/download/v0.3.0/HumbleKeysLibrary.pext
Changelog:
- 'New Features:'
- '* Added Optional feature to import games in Humble Choice Monthly bundles.'
- '* Added Optional feature to create tags based on Bundle Names (Either all Bundles or Monthly only)'
- '* Added Optional feature to cache API Objects as JSON files in the ExtensionsData directory'
- Version: 0.2.0
RequiredApiVersion: 6.2.2
RequiredApiVersion: 6.1.8
ReleaseDate: 2022-06-09
PackageUrl: https://github.com/FiercePunchStudios/HumbleKeysLibrary/releases/download/0.2.0/62ac4052-e08a-4a1a-b70a-c2c0c3673bb9_0_2_0.pext
PackageUrl: https://github.com/Dasmius007/HumbleKeysLibrary/releases/download/0.2.0/62ac4052-e08a-4a1a-b70a-c2c0c3673bb9_0_2_0.pext
Changelog:
- 'Updated for new SDK. Also fixes Newtonsoft.Json exceptions thrown when Humble API returns **redeemed_key_val**'
- 'as a JObject instead of JString.'
- ''
- 'Tested against:'
- 'Playnite 9.18'
- 'SDK 6.2.2'
- 'Desktop 2.1.0'
- Version: 0.1.4
RequiredApiVersion: 6.1.8
ReleaseDate: 2020-10-08
PackageUrl: https://github.com/Dasmius007/HumbleKeysLibrary/releases/download/0.1.4/Humble_Keys_Library_Importer_0_1_4.pext
Changelog:
- 'Adds **Ignore Redeemed Keys** setting. When checked, the library does not import any keys which have'
- 'already been redeemed.'
- Version: 0.1.3
RequiredApiVersion: 6.1.8
ReleaseDate: 2020-10-06
PackageUrl: https://github.com/Dasmius007/HumbleKeysLibrary/releases/download/0.1.3/Humble_Keys_Library_Importer_0_1_3.pext
Changelog:
- 'Compiled for Playnite 8.0'
- ''
- 'Removes references to Playnite and Playnite.Common assemblies to comply with SDK changes in Playnite 8.'
- Version: 0.1.2
RequiredApiVersion: 6.1.8
ReleaseDate: 2020-10-02
PackageUrl: https://github.com/Dasmius007/HumbleKeysLibrary/releases/download/0.1.2/HumbleKeysLibrary_0_1_2.pext
Changelog:
- 'Compiled for Playnite 7.9'
- ''
- 'Improves key type filtering and adds settings view localization. Also changes "Platform" for keys to reflect the'
- 'TPKD machine name, as the human names were too inconsistent and creating many single-game platforms.'
- Version: 0.1.1
RequiredApiVersion: 6.1.8
ReleaseDate: 2020-10-01
PackageUrl: https://github.com/Dasmius007/HumbleKeysLibrary/releases/download/0.1.1/HumbleKeysLibrary_0_1_1.pext
Changelog:
- 'Compiled for Playnite 7.9'
- ''
- 'Improves key type filtering and adds settings view localization. Also changes "Platform" for keys to reflect the'
- 'TPKD machine name, as the human names were too inconsistent and creating many single-game platforms.'
- Version: 0.1.0
RequiredApiVersion: 6.1.8
ReleaseDate: 2020-10-01
PackageUrl: https://github.com/Dasmius007/HumbleKeysLibrary/releases/download/0.1.0/HumbleKeyLibrary_0_1_0.pext
Changelog:
- Initial release to add-on DB
- Updates plug-in to be compatible with SDK 6.2.2
- Fixes exceptions thrown by Newtonsoft.Json when Humble API returns a JObject in redeemed_key_val
- 'Adds **nintendo_direct** tag to Humble key_type whitelist and removes extraneous **Humble Key: {key_type}** tagging,'
- 'since that information is already in "Platform".'
- ''
- ''
- '# v0.1.0 Pre-release'
- 'Release v0.1.0'
- 'Installation'
- 'Drag and drop the .pext file onto your Playnite window.'
- ''
- 'Release Details'
- 'First release implements:'
- ''
- '* Querying the Humble API for "TPKD" objects that represent game keys.'
- '* Checking against a key type whitelist (currently only permits steam keys)'
- '* Reporting the Redeemed / Unredeemed status as tags'
- '* Updates Redeemed / Unredeemed on previously imported games when loading the Humble Keys Library'
- 'Creates a link to your Humble "downloads" page'
- ''
- 'Upcoming features:'
- ''
- '* Other key types in the white list'
- '* Integrating localization'
23 changes: 12 additions & 11 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,41 @@
## What's Changed
# 0.3.0
New Features:
* Added Optional feature to import games in Humble Choice Monthly bundles.
* Added Optional feature to create tags based on Bundle Names (Either all Bundles or Monthly only)
* Added Optional feature to cache API Objects as JSON files in the ExtensionsData directory

# v0.2.0 Latest
Updated for new SDK. Also fixes Newtonsoft.Json exceptions thrown when Humble API returns **redeemed_key_val**
# 0.2.0
Updated for new SDK. Also fixes Newtonsoft.Json exceptions thrown when Humble API returns **redeemed_key_val**
as a JObject instead of JString.

Tested against:
Playnite 9.18
SDK 6.2.2
Desktop 2.1.0

# v0.1.4
Adds **Ignore Redeemed Keys** setting. When checked, the library does not import any keys which have
# 0.1.4
Adds **Ignore Redeemed Keys** setting. When checked, the library does not import any keys which have
already been redeemed.

# v0.1.3
# 0.1.3
Compiled for Playnite 8.0

Removes references to Playnite and Playnite.Common assemblies to comply with SDK changes in Playnite 8.

# v0.1.2
# 0.1.2
Compiled for Playnite 7.9

Improves key type filtering and adds settings view localization. Also changes "Platform" for keys to reflect the
TPKD machine name, as the human names were too inconsistent and creating many single-game platforms.

# v0.1.1
Adds **nintendo_direct** tag to Humble key_type whitelist and removes extraneous **Humble Key: {key_type}** tagging,
# 0.1.1
Adds **nintendo_direct** tag to Humble key_type whitelist and removes extraneous **Humble Key: {key_type}** tagging,
since that information is already in "Platform".


# v0.1.0 Pre-release
Release v0.1.0
# 0.1.0 Pre-release
Release 0.1.0
Installation
Drag and drop the .pext file onto your Playnite window.

Expand All @@ -45,7 +46,7 @@ First release implements:
* Checking against a key type whitelist (currently only permits steam keys)
* Reporting the Redeemed / Unredeemed status as tags
* Updates Redeemed / Unredeemed on previously imported games when loading the Humble Keys Library
Creates a link to your Humble "downloads" page
Creates a link to your Humble "downloads" page

Upcoming features:

Expand Down
8 changes: 4 additions & 4 deletions extension.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Name: Humble Keys Library Importer
Name: Humble Keys Library Importer
Author: ecenshu
Id: 62ac4052-e08a-4a1a-b70a-c2c0c3673bb9
Version: 0.2.1
Version: 0.3.0
Module: HumbleKeysLibrary.dll
Type: GameLibrary
Icon: icon.png
Links:
- Name: GitHub
Url: https://github.com/ecenshu/HumbleKeysLibrary/
- Name: GitHub
Url: https://github.com/ecenshu/HumbleKeysLibrary