Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: League-of-Foundry-Developers/scene-packer
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.7.10
Choose a base ref
...
head repository: League-of-Foundry-Developers/scene-packer
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
  • 10 commits
  • 38 files changed
  • 1 contributor

Commits on Feb 4, 2024

  1. v2.7.11

    - Fixed actor prototypeToken image not being referenced.
    - Fixed audioFiles and tile images in [Monk's Active Tile Triggers](https://foundryvtt.com/packages/monks-active-tiles) not being referenced.
      - Thanks Beneos of https://beneos-battlemaps.com/ for the above reports.
    sneat authored Feb 4, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    6331510 View commit details

Commits on May 30, 2024

  1. v2.7.12

    - Marked compatibility with Foundry VTT version 12.
      - The only changes were relating to deprecated methods that are currently in compatibility mode.
      - There will continue to be a few deprecation warnings in the console due to supporting old versions of Foundry VTT.
    - Moulinette Exporter changes:
      - Fixes the functionality added in v2.7.7 to actually remember the previously entered URL and Journal.
    sneat authored May 30, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    109d8ca View commit details

Commits on Jun 25, 2024

  1. v2.7.13

    - Fix bug introduced in v2.7.12 relating to v12 changes which would prevent certain imports from completing successfully.
    sneat authored Jun 25, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    d167fd2 View commit details

Commits on Jun 28, 2024

  1. v2.7.14

    - Allow the Moulinette importer tool to correctly handle zip files manually created on Windows.
    - Updated [fflate](https://101arrowz.github.io/fflate/) to v0.8.2.
    sneat authored Jun 28, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    ef4dfbe View commit details

Commits on Oct 10, 2024

  1. v2.7.15

    - Added a button in the settings to more easily re-prompt for a module's automatic importer.
      - This functionality always existed via a macro. This button just makes it easier to find.
    sneat authored Oct 10, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    b772052 View commit details

Commits on Oct 28, 2024

  1. v2.8.0

    - Added support for importing partial playlists via the Moulinette importer (and associated zip importer).
      - Allows creators to export individual sounds from a playlist and have it be merged into an existing playlist on import.
      - This can be helpful for a creator who wants to release individual sounds, but have a single playlist across their module releases.
    - Moulinette importer (and associated zip importer) will now prompt to reload the world after completing the import.
      - This is to handle some edge cases where Foundry VTT doesn't correctly display the imported data.
    - Fix the `Relink compendium entries` macro to correctly handle journal pages stored in markdown format.
      - Fixes #147
    sneat authored Oct 28, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    7fcc237 View commit details

Commits on Nov 20, 2024

  1. v2.8.1

    - Support Moulinette v3 new FilePicker
      - Thanks SvenWerlen - closes #149 
    - Removed deprecation warnings for v13.
    sneat authored Nov 20, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    77d7026 View commit details

Commits on Nov 21, 2024

  1. v2.8.2

    - Fix bug that broke everything (sorry about that).
    sneat authored Nov 21, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    b2e3412 View commit details

Commits on Dec 15, 2024

  1. v2.8.3

    - Added the ability to ignore certain compendiums when importing all entities.
      - This is useful if you have a compendium that you don't want to bulk import from, such as a "prefabs" compendium.
      - This can be set via the "init" script - see `ignoredCompendiumPacks` in the [readme](https://github.com/League-of-Foundry-Developers/scene-packer#module-code-requirements).
    - Updated French translation (machine translated).
    sneat authored Dec 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    8a0f9a8 View commit details

Commits on Feb 10, 2025

  1. v2.8.4

    - Improved the handling of the Moulinette Importer functionality to better support importing documents that were created/exported in older versions of Foundry VTT.
      - From v12 onwards, this process makes use of the new `fromImport` method, which utilises the core migration functionalities of Foundry VTT.
    sneat authored Feb 10, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    5504cb2 View commit details
Showing with 1,149 additions and 361 deletions.
  1. +1 −1 .github/workflows/main.yml
  2. +55 −0 CHANGELOG.md
  3. +12 −0 README.md
  4. +15 −0 languages/en.json
  5. +15 −0 languages/fr.json
  6. +20 −7 module.json
  7. +1 −1 packs/journals.db
  8. +3 −3 packs/macros.db
  9. +23 −18 scripts/adventure-converter/adventure-converter.js
  10. +20 −2 scripts/asset-report.js
  11. +3 −3 scripts/asset-report/module-select.js
  12. +17 −4 scripts/assets/actor.js
  13. +20 −7 scripts/assets/journal.js
  14. +8 −2 scripts/assets/playlist.js
  15. +33 −1 scripts/assets/scene.js
  16. +1 −1 scripts/assets/utils.js
  17. +33 −10 scripts/constants.js
  18. +2 −2 scripts/export-import/converter.js
  19. +30 −9 scripts/export-import/exporter-progress.js
  20. +28 −1 scripts/export-import/exporter.js
  21. +196 −49 scripts/export-import/moulinette-importer.js
  22. +1 −1 scripts/export-import/related/active-tiles.js
  23. +11 −4 scripts/export-import/related/actor.js
  24. +12 −8 scripts/export-import/related/item.js
  25. +27 −20 scripts/export-import/related/journals.js
  26. +1 −1 scripts/export-import/related/unrelated-data.js
  27. +182 −49 scripts/export-import/zip-importer.js
  28. +1 −1 scripts/hash.js
  29. +103 −67 scripts/lib/fflate/fflate.js
  30. 0 scripts/lib/mime/bin/cli.js
  31. +2 −2 scripts/migration.js
  32. +59 −0 scripts/reset-import-prompts.js
  33. +149 −76 scripts/scene-packer.js
  34. +9 −9 scripts/welcome-journal.js
  35. +1 −1 scripts/wrapped.js
  36. +9 −0 styles/scene-packer.css
  37. +13 −1 templates/export-import/exporter.hbs
  38. +33 −0 templates/reset-import-prompts.hbs
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ jobs:
env:
version: ${{github.event.release.tag_name}}
url: https://github.com/${{github.repository}}
manifest: https://github.com/${{github.repository}}/releases/latest/download/module.json
manifest: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.json
download: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.zip

# Create a zip file with all files required by the module to add to the release
55 changes: 55 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,60 @@
# Changelog

## v2.8.4

- Improved the handling of the Moulinette Importer functionality to better support importing documents that were created/exported in older versions of Foundry VTT.
- From v12 onwards, this process makes use of the new `fromImport` method, which utilises the core migration functionalities of Foundry VTT.

## v2.8.3

- Added the ability to ignore certain compendiums when importing all entities.
- This is useful if you have a compendium that you don't want to bulk import from, such as a "prefabs" compendium.
- This can be set via the "init" script - see `ignoredCompendiumPacks` in the [readme](https://github.com/League-of-Foundry-Developers/scene-packer#module-code-requirements).
- Updated French translation (machine translated).

## v2.8.2

- Fix bug that broke everything (sorry about that).

## v2.8.1

- Support Moulinette v3 new FilePicker
- Thanks SvenWerlen
- Removed deprecation warnings for v13.

## v2.8.0
- Added support for importing partial playlists via the Moulinette importer (and associated zip importer).
- Allows creators to export individual sounds from a playlist and have it be merged into an existing playlist on import.
- This can be helpful for a creator who wants to release individual sounds, but have a single playlist across their module releases.
- Moulinette importer (and associated zip importer) will now prompt to reload the world after completing the import.
- This is to handle some edge cases where Foundry VTT doesn't correctly display the imported data.
- Fix the `Relink compendium entries` macro to correctly handle journal pages stored in markdown format.
- Fixes #147

## v2.7.15
- Added a button in the settings to more easily re-prompt for a module's automatic importer.
- This functionality always existed via a macro. This button just makes it easier to find.

## v2.7.14
- Allow the Moulinette importer tool to correctly handle zip files manually created on Windows.
- Updated [fflate](https://101arrowz.github.io/fflate/) to v0.8.2.

## v2.7.13
- Fix bug introduced in v2.7.12 relating to v12 changes which would prevent certain imports from completing successfully.

## v2.7.12
- Marked compatibility with Foundry VTT version 12.
- The only changes were relating to deprecated methods that are currently in compatibility mode.
- There will continue to be a few deprecation warnings in the console due to supporting old versions of Foundry VTT.
- Moulinette Exporter changes:
- Fixes the functionality added in v2.7.7 to actually remember the previously entered URL and Journal.

## v2.7.11

- Fixed actor prototypeToken image not being referenced.
- Fixed audioFiles and tile images in [Monk's Active Tile Triggers](https://foundryvtt.com/packages/monks-active-tiles) not being referenced.
- Thanks Beneos of https://beneos-battlemaps.com/ for the above reports.

## v2.7.10

- Migrate "mime" package to a local source to avoid issues with the CDN being offline/having a build error.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -152,6 +152,17 @@ Include the following in your [module javascript](https://foundryvtt.com/article
* const additionalModulePacks = [];
*/
const additionalModulePacks = [moduleName, 'dnd5e'];
/**
* ignoredCompendiumPacks is a list of compendium packs to ignore when "importing all" content.
* Content from this pack will still be imported if it is directly referenced by another entity.
*
* The value to use is the "name" of the pack as defined in the module.json file.
* Only packs from the active module can be ignored and the id of the module should not be provided.
*
* For example, if you wanted to ignore the "mymoduleid.prefabs" pack:
* const ignoredCompendiumPacks = ['prefabs'];
*/
const ignoredCompendiumPacks = [];

Hooks.once('scenePackerReady', ScenePacker => {
// Initialise the Scene Packer with your adventure name and module name
@@ -166,6 +177,7 @@ Include the following in your [module javascript](https://foundryvtt.com/article
welcomeJournal,
additionalJournals,
additionalMacros,
ignoredCompendiumPacks,
allowImportPrompts: true, // Set to false if you don't want the popup
});
});
15 changes: 15 additions & 0 deletions languages/en.json
Original file line number Diff line number Diff line change
@@ -231,6 +231,12 @@
"ui": "Invalid call to SetAdditionalModulePacks(). See console for details.",
"details": "You must pass an array of strings to \"SetAdditionalModulePacks()\". They must be the names of Modules. Received: {pack}",
"missing": "SetAdditionalModulePacks() called with no value."
},
"ignoredPacks": {
"ui": "Invalid call to SetIgnoredCompendiumPacks(). See console for details.",
"details": "You must pass an array of strings to \"SetIgnoredCompendiumPacks()\". They must be the names of Module Packs. Received: {pack} Available packs are: {packs}",
"invalid": "Invalid value passed to \"SetIgnoredCompendiumPacks()\". Received: {pack} Available packs are: {packs}",
"missing": "SetIgnoredCompendiumPacks() called with no value."
}
},
"world-conversion": {
@@ -315,6 +321,7 @@
"converting-reference": "Converting {type} reference in \"{name}\" {oldRef} -> {newRef} at location: {path}",
"no-existing-value": "Could not find existing value at path \"{path}\". Skipping updating reference…",
"complete": "Complete!",
"complete-content": "Import complete. It is strongly recommended to reload your world. Click the button below to refresh.",
"import-all": "Import all {count} entities in this pack",
"import-one": "Import selected",
"selected-entity": "Selected {type}:",
@@ -552,6 +559,14 @@
"all-lowercase": "All assets are already lowercase.",
"list-assets": "The following assets will be converted to lowercase:",
"confirm": "Are you sure you want to convert these assets to lowercase?"
},
"reset-prompts": {
"name": "Reset import prompts",
"label": "Choose module",
"hint": "Use this to reset the prompt you received when you first installed a supported module. Handy if you accidentally closed it the first time.",
"nothing": "There are no modules installed that are registered with Scene Packer, so there are no welcome prompts that can be reset. Make sure the module is enabled.",
"refresh-text": "Resetting the prompt will automatically reload your world.",
"select-module-label": "Select module:"
}
}
}
15 changes: 15 additions & 0 deletions languages/fr.json
Original file line number Diff line number Diff line change
@@ -215,6 +215,12 @@
"details": "Vous devez passer un tableau de chaînes de caractères à \"SetAdditionalMacrosToImport()\". Il doit s'agir des noms des Modules. Reçu : {pack}",
"missing": "SetAdditionalModulePacks() appelé sans valeur."
},
"ignoredPacks": {
"ui": "Appel invalide à SetIgnoredCompendiumPacks(). Voir la console pour plus de détails.",
"details": "Vous devez passer un tableau de chaînes de caractères à \"SetAdditionalMacrosToImport()\". Il doit s'agir des noms packs de Module. Reçu : {pack}. Les packs disponibles sont : {packs}",
"invalid": "Valeur invalide passée à “SetIgnoredCompendiumPacks()”. Reçu : {pack}. Les packs disponibles sont : {packs}.",
"missing": "SetIgnoredCompendiumPacks() appelé sans valeur."
},
"version": {
"packed-low": "La scène \"{scene}\" (du module \"{sourceModule}\") a été empaquetée avec la version de Scene Packer \"{version}\" qui est plus ancienne que la version minimale compatible de \"{supportedVersion}\". Veuillez contacter l'auteur et lui demander de ré-empaqueter la scène avec une version actuelle."
}
@@ -291,6 +297,7 @@
"converting-reference": "Convertit la référence {type} dans \"{name}\" {oldRef} -> {newRef} dans l'emplacement : {path}",
"no-existing-value": "Impossible de trouver une valeur existante dans le chemin \"{path}\". Passe la mise à jour de la référence…",
"complete": "Achevé !",
"complete-content": "Importation terminée. Il est fortement recommandé de recharger votre monde. Cliquez sur le bouton ci-dessous pour actualiser.",
"import-all": "Importer toutes les {count} entités dans ce pack",
"import-one": "Importe la sélection",
"selected-entity": "Sélectionné {type} :",
@@ -552,6 +559,14 @@
"title": "Vérifier que des assets existent et les convertir en minuscules",
"description": "Cet outil vérifiera que tous les assets de votre monde existent et convertira leurs références en minuscules. Il énumérera d'abord toutes les références des assets qu'il convertira, puis vous demandera de confirmer.",
"nothing": "Aucun asset n'a été trouvé dans votre monde."
},
"reset-prompts": {
"name": "Réinitialiser les invites d'importation",
"label": "Choisir le module",
"hint": "Utilisez ceci pour réinitialiser l'invite que vous avez reçue lors de la première installation d'un module pris en charge. Pratique si vous l'avez accidentellement fermée la première fois.",
"nothing": "Il n'y a aucun module installé qui soit enregistré avec Scene Packer, donc il n'y a pas d'invites de bienvenue à réinitialiser. Assurez-vous que le module est activé.",
"refresh-text": "La réinitialisation de l'invite rechargera automatiquement votre monde.",
"select-module-label": "Sélectionner le module:"
}
}
}
27 changes: 20 additions & 7 deletions module.json
Original file line number Diff line number Diff line change
@@ -3,14 +3,14 @@
"name": "scene-packer",
"title": "Library: Scene Packer",
"description": "A module to assist with Scene and Adventure packing and unpacking.",
"version": "2.7.10",
"version": "2.8.4",
"library": "true",
"manifestPlusVersion": "1.2.0",
"minimumCoreVersion": "0.8.6",
"compatibleCoreVersion": "11",
"compatibleCoreVersion": "12",
"compatibility": {
"minimum": "0.8.6",
"verified": "11"
"verified": "12"
},
"author": "Blair McMillan",
"authors": [
@@ -41,6 +41,11 @@
"url": "https://www.youtube.com/watch?v=XZjuE1j_7GQ",
"thumbnail": "https://img.youtube.com/vi/XZjuE1j_7GQ/0.jpg",
"caption": "Scene Packer and Moulinette Integration"
},
{
"type": "setup",
"url": "modules/scene-packer/assets/cover.png",
"thumbnail": "modules/scene-packer/assets/cover.png"
}
],
"packs": [
@@ -49,16 +54,24 @@
"label": "Library: Scene Packer",
"path": "/packs/journals.db",
"entity": "JournalEntry",
"type": "JournalEntry",
"private": false
"type": "JournalEntry"
},
{
"name": "macros",
"label": "Library: Scene Packer",
"path": "/packs/macros.db",
"entity": "Macro",
"type": "Macro",
"private": false
"type": "Macro"
}
],
"packFolders": [
{
"name": "Scene Packer",
"sorting": "a",
"packs": [
"journals",
"macros"
]
}
],
"esmodules": [
2 changes: 1 addition & 1 deletion packs/journals.db

Large diffs are not rendered by default.

Loading