PyLibMS 4.1.6__tar.gz → 4.1.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. {pylibms-4.1.6 → pylibms-4.1.7}/PKG-INFO +3 -3
  2. {pylibms-4.1.6 → pylibms-4.1.7}/PyLibMS.egg-info/PKG-INFO +3 -3
  3. {pylibms-4.1.6 → pylibms-4.1.7}/README.md +1 -1
  4. {pylibms-4.1.6 → pylibms-4.1.7}/lms/flowchart/definitions/flowchart.py +5 -2
  5. {pylibms-4.1.6 → pylibms-4.1.7}/lms/flowchart/definitions/node.py +2 -1
  6. {pylibms-4.1.6 → pylibms-4.1.7}/pyproject.toml +12 -2
  7. {pylibms-4.1.6 → pylibms-4.1.7}/LICENSE +0 -0
  8. {pylibms-4.1.6 → pylibms-4.1.7}/MANIFEST.in +0 -0
  9. {pylibms-4.1.6 → pylibms-4.1.7}/PyLibMS.egg-info/SOURCES.txt +0 -0
  10. {pylibms-4.1.6 → pylibms-4.1.7}/PyLibMS.egg-info/dependency_links.txt +0 -0
  11. {pylibms-4.1.6 → pylibms-4.1.7}/PyLibMS.egg-info/requires.txt +0 -0
  12. {pylibms-4.1.6 → pylibms-4.1.7}/PyLibMS.egg-info/top_level.txt +0 -0
  13. {pylibms-4.1.6 → pylibms-4.1.7}/lms/__init__.py +0 -0
  14. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/__init__.py +0 -0
  15. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/field/__init__.py +0 -0
  16. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/field/io.py +0 -0
  17. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/field/lms_datatype.py +0 -0
  18. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/field/lms_field.py +0 -0
  19. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/lms_constants.py +0 -0
  20. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/lms_exceptions.py +0 -0
  21. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/lms_fileinfo.py +0 -0
  22. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/stream/fileinfo.py +0 -0
  23. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/stream/hashtable.py +0 -0
  24. {pylibms-4.1.6 → pylibms-4.1.7}/lms/common/stream/section.py +0 -0
  25. {pylibms-4.1.6 → pylibms-4.1.7}/lms/fileio/encoding.py +0 -0
  26. {pylibms-4.1.6 → pylibms-4.1.7}/lms/fileio/io.py +0 -0
  27. {pylibms-4.1.6 → pylibms-4.1.7}/lms/flowchart/__init__.py +0 -0
  28. {pylibms-4.1.6 → pylibms-4.1.7}/lms/flowchart/definitions/__init__.py +0 -0
  29. {pylibms-4.1.6 → pylibms-4.1.7}/lms/flowchart/definitions/lms_nodeexceptions.py +0 -0
  30. {pylibms-4.1.6 → pylibms-4.1.7}/lms/flowchart/definitions/node_type.py +0 -0
  31. {pylibms-4.1.6 → pylibms-4.1.7}/lms/flowchart/flw3.py +0 -0
  32. {pylibms-4.1.6 → pylibms-4.1.7}/lms/flowchart/msbf.py +0 -0
  33. {pylibms-4.1.6 → pylibms-4.1.7}/lms/flowchart/msbfio.py +0 -0
  34. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/__init__.py +0 -0
  35. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/definitions/__init__.py +0 -0
  36. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/definitions/field/__init__.py +0 -0
  37. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/lms_messagetext.py +0 -0
  38. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/msbt.py +0 -0
  39. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/msbtentry.py +0 -0
  40. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/msbtio.py +0 -0
  41. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/section/__init__.py +0 -0
  42. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/section/atr1.py +0 -0
  43. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/section/nli1.py +0 -0
  44. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/section/tsy1.py +0 -0
  45. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/section/txt2.py +0 -0
  46. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/tag/__init__.py +0 -0
  47. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/tag/io/param_io.py +0 -0
  48. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/tag/io/tag_io.py +0 -0
  49. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/tag/lms_tag.py +0 -0
  50. {pylibms-4.1.6 → pylibms-4.1.7}/lms/message/tag/lms_tagexceptions.py +0 -0
  51. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/__init__.py +0 -0
  52. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/definitions/__init__.py +0 -0
  53. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/definitions/attribute.py +0 -0
  54. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/definitions/color.py +0 -0
  55. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/definitions/style.py +0 -0
  56. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/definitions/tag.py +0 -0
  57. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/msbp.py +0 -0
  58. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/msbpread.py +0 -0
  59. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/section/ali2.py +0 -0
  60. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/section/ati2.py +0 -0
  61. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/section/clr1.py +0 -0
  62. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/section/string.py +0 -0
  63. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/section/syl3.py +0 -0
  64. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/section/tag2.py +0 -0
  65. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/section/tgg2.py +0 -0
  66. {pylibms-4.1.6 → pylibms-4.1.7}/lms/project/section/tgp2.py +0 -0
  67. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/__init__.py +0 -0
  68. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/config.py +0 -0
  69. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/definitions/__init__.py +0 -0
  70. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/definitions/attribute.py +0 -0
  71. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/definitions/nodes.py +0 -0
  72. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/definitions/tags.py +0 -0
  73. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/definitions/value.py +0 -0
  74. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/presets/Badge Arcade.yaml +0 -0
  75. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/presets/Brain Age Concentration Training.yaml +0 -0
  76. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/presets/Kirby Planet Robobot.yaml +0 -0
  77. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/presets/Super Mario 3D Land.yaml +0 -0
  78. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/presets/Super Mario 3D World + Bowsers Fury.yaml +0 -0
  79. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/presets/Super Mario Odyssey.yaml +0 -0
  80. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/presets/The Legend of Zelda Echos of Wisdom.yaml +0 -0
  81. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/presets/The Legend of Zelda a Link Between Worlds.yaml +0 -0
  82. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/presets/Tomodachi Life Living The Dream.yaml +0 -0
  83. {pylibms-4.1.6 → pylibms-4.1.7}/lms/titleconfig/presets/Tomodachi Life NA-EU.yaml +0 -0
  84. {pylibms-4.1.6 → pylibms-4.1.7}/setup.cfg +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyLibMS
3
- Version: 4.1.6
3
+ Version: 4.1.7
4
4
  Summary: Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and MSBF.
5
5
  Author: AbdyyEee
6
6
  License-Expression: MIT
7
7
  Project-URL: Documentation, https://github.com/AbdyyEee/PylibMS/wiki
8
8
  Project-URL: Repository, https://github.com/AbdyyEee/PylibMS
9
- Keywords: nintendo,msbf,msbt,msbp,modding,lms,libmessagestudio,flw3
9
+ Keywords: nintendo,msbt,message text,msbp,message project,msbf,message flowchart,flw3,modding,libmessagestudio
10
10
  Classifier: Programming Language :: Python :: 3.10
11
11
  Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
@@ -30,7 +30,7 @@ The following is supported
30
30
  |-------------|------|-------|-------------------------------------------------------------------------------------------|
31
31
  | `MSBT` | ✅ | ✅ | Support for full attribute (`ATR1`) decoding. Tag decoding 1:1 with the official Nintendo `.mstxt` file format. |
32
32
  | `MSBF` | ✅ | ✅ | Support for custom node definitions, attaching names and descriptions to nodes. Altering parameter datatypes for flexibility between games. |
33
- | `MSBP` | ✅ | ❌ | N/A |
33
+ | `MSBP` | ✅ | ❌ | Generating configuration files for use with `MSBT` files. |
34
34
 
35
35
  This library is designed to support LMS revision >=3.0. These include files generated for late **Wii** titles, **Nintendo 3DS**, **Wii U**, **Mobile**, **Nintendo Switch** and **Nintendo Switch 2** games.
36
36
 
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyLibMS
3
- Version: 4.1.6
3
+ Version: 4.1.7
4
4
  Summary: Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and MSBF.
5
5
  Author: AbdyyEee
6
6
  License-Expression: MIT
7
7
  Project-URL: Documentation, https://github.com/AbdyyEee/PylibMS/wiki
8
8
  Project-URL: Repository, https://github.com/AbdyyEee/PylibMS
9
- Keywords: nintendo,msbf,msbt,msbp,modding,lms,libmessagestudio,flw3
9
+ Keywords: nintendo,msbt,message text,msbp,message project,msbf,message flowchart,flw3,modding,libmessagestudio
10
10
  Classifier: Programming Language :: Python :: 3.10
11
11
  Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
@@ -30,7 +30,7 @@ The following is supported
30
30
  |-------------|------|-------|-------------------------------------------------------------------------------------------|
31
31
  | `MSBT` | ✅ | ✅ | Support for full attribute (`ATR1`) decoding. Tag decoding 1:1 with the official Nintendo `.mstxt` file format. |
32
32
  | `MSBF` | ✅ | ✅ | Support for custom node definitions, attaching names and descriptions to nodes. Altering parameter datatypes for flexibility between games. |
33
- | `MSBP` | ✅ | ❌ | N/A |
33
+ | `MSBP` | ✅ | ❌ | Generating configuration files for use with `MSBT` files. |
34
34
 
35
35
  This library is designed to support LMS revision >=3.0. These include files generated for late **Wii** titles, **Nintendo 3DS**, **Wii U**, **Mobile**, **Nintendo Switch** and **Nintendo Switch 2** games.
36
36
 
@@ -9,7 +9,7 @@ The following is supported
9
9
  |-------------|------|-------|-------------------------------------------------------------------------------------------|
10
10
  | `MSBT` | ✅ | ✅ | Support for full attribute (`ATR1`) decoding. Tag decoding 1:1 with the official Nintendo `.mstxt` file format. |
11
11
  | `MSBF` | ✅ | ✅ | Support for custom node definitions, attaching names and descriptions to nodes. Altering parameter datatypes for flexibility between games. |
12
- | `MSBP` | ✅ | ❌ | N/A |
12
+ | `MSBP` | ✅ | ❌ | Generating configuration files for use with `MSBT` files. |
13
13
 
14
14
  This library is designed to support LMS revision >=3.0. These include files generated for late **Wii** titles, **Nintendo 3DS**, **Wii U**, **Mobile**, **Nintendo Switch** and **Nintendo Switch 2** games.
15
15
 
@@ -1,5 +1,5 @@
1
1
  from types import MappingProxyType
2
- from typing import Callable
2
+ from typing import Callable, Iterator
3
3
 
4
4
  from lms.flowchart.definitions.node import LMS_EntryNode, LMS_BranchNode, LMS_BaseNode
5
5
 
@@ -16,6 +16,9 @@ class LMS_Flowchart:
16
16
  for node in entry_point.get_descendents():
17
17
  self._nodes[node.id] = node
18
18
 
19
+ def __iter__(self) -> Iterator[LMS_BaseNode]:
20
+ return iter(self._nodes.values())
21
+
19
22
  def __len__(self) -> int:
20
23
  return len(self._nodes)
21
24
 
@@ -89,7 +92,7 @@ class LMS_Flowchart:
89
92
 
90
93
  del self._nodes[node_id]
91
94
 
92
- def get_dangling_nodes(self):
95
+ def get_dangling_nodes(self) -> list[LMS_BaseNode]:
93
96
  """
94
97
  Retrieves all the nodes that do not have a parent in the flowchart.
95
98
  """
@@ -365,6 +365,7 @@ class LMS_EventNode(LMS_BaseNode):
365
365
 
366
366
  :param parameter_type: the parameter type.
367
367
  :param parameter_value: the parameter value.
368
+ :param action_id: the action_id of the node.
368
369
 
369
370
  """
370
371
  verify_parameter_structure(parameter_value, parameter_type)
@@ -435,7 +436,7 @@ class LMS_JumpNode(LMS_BaseNode):
435
436
  self.next_flowchart: LMS_EntryNode | None = None
436
437
 
437
438
  # TODO: Document this unknown value at 0xA in the node
438
- # This value is usually -1 in TL but is a set value in other games
439
+ # This value is usually -1 in TL 3DS but is a set value in other games
439
440
  self.unknown_short0a = unknown_short0a
440
441
 
441
442
  @classmethod
@@ -7,12 +7,22 @@ include = ["lms*"]
7
7
 
8
8
  [project]
9
9
  name = "PyLibMS"
10
- version = "4.1.6"
10
+ version = "4.1.7"
11
11
  requires-python = ">=3.10"
12
12
  description = "Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and MSBF."
13
13
  readme = "README.md"
14
14
  authors = [{ name = "AbdyyEee" }]
15
- keywords = ["nintendo", "msbf", "msbt", "msbp", "modding", "lms", "libmessagestudio", "flw3"]
15
+ keywords = [
16
+ "nintendo",
17
+ "msbt",
18
+ "message text",
19
+ "msbp",
20
+ "message project",
21
+ "msbf",
22
+ "message flowchart",
23
+ "flw3",
24
+ "modding",
25
+ "libmessagestudio"]
16
26
  license = "MIT"
17
27
  license-files = ["LICENSE*"]
18
28
  classifiers = [
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes