PyLibMS 2.1.2__tar.gz → 2.1.3__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.
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/Field/LMS_Field.py +0 -2
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/LMS_MessageText.py +16 -17
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/Stream.py +2 -2
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/System_Definitions.py +5 -8
- {pylibms-2.1.2 → pylibms-2.1.3}/PKG-INFO +1 -1
- {pylibms-2.1.2 → pylibms-2.1.3}/PyLibMS.egg-info/PKG-INFO +1 -1
- {pylibms-2.1.2 → pylibms-2.1.3}/pyproject.toml +1 -1
- {pylibms-2.1.2 → pylibms-2.1.3}/LICENSE +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/LMS_DataType.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/LMS_Exceptions.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/LMS_FileInfo.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/Stream/FileInfo.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/Stream/Hashtable.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/Stream/Section.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/FileIO/Encoding.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/FileIO/Stream.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/Field/LMS_FieldMap.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/Field/Stream.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/Field/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/MSBT.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/MSBTEntry.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/MSBTStream.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Section/ATR1.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Section/TSY1.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Section/TXT2.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Section/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/LMS_Tag.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/LMS_TagExceptions.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/Tag_Formats.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Definitions/Attribute.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Definitions/Color.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Definitions/Style.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Definitions/Tag.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Definitions/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/MSBP.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/MSBPRead.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/ALI2.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/ATI2.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/CLR1.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/SYL3.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/String.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/TAG2.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/TGG2.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/TGP2.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Config.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Definitions/Attributes.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Definitions/Tags.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Definitions/Value.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Definitions/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Badge Arcade.yaml +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Brain Age Concentration Training.yaml +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Kirby Planet Robobot.yaml +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Super Mario 3D Land.yaml +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/The Legend of Zelda a Link Between Worlds.yaml +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Tomodachi Life.yaml +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/LMS/__init__.py +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/MANIFEST.in +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/PyLibMS.egg-info/SOURCES.txt +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/PyLibMS.egg-info/dependency_links.txt +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/PyLibMS.egg-info/requires.txt +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/PyLibMS.egg-info/top_level.txt +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/README.md +0 -0
- {pylibms-2.1.2 → pylibms-2.1.3}/setup.cfg +0 -0
|
@@ -3,6 +3,7 @@ from typing import overload
|
|
|
3
3
|
|
|
4
4
|
from LMS.Message.Definitions.Field.LMS_Field import LMS_Field
|
|
5
5
|
from LMS.Message.Tag.LMS_Tag import LMS_DecodedTag, LMS_EncodedTag, LMS_TagBase
|
|
6
|
+
from LMS.Message.Tag.System_Definitions import get_system_tag
|
|
6
7
|
from LMS.Message.Tag.Tag_Formats import (DECODED_FORMAT, ENCODED_FORMAT,
|
|
7
8
|
TAG_FORMAT)
|
|
8
9
|
from LMS.TitleConfig.Config import TagConfig
|
|
@@ -72,35 +73,33 @@ class LMS_MessageText:
|
|
|
72
73
|
)
|
|
73
74
|
)
|
|
74
75
|
|
|
75
|
-
def append_decoded_tag(
|
|
76
|
-
self,
|
|
77
|
-
group_name: str,
|
|
78
|
-
tag_name: str,
|
|
79
|
-
parameters: dict[str, int | float | str | bytes | bool] | None = None,
|
|
80
|
-
) -> None:
|
|
76
|
+
def append_decoded_tag(self, group_name: str, tag_name: str, **parameters) -> None:
|
|
81
77
|
"""Appends an decoded tag to the current message.
|
|
82
78
|
|
|
83
79
|
:param group_name: the group name.
|
|
84
80
|
:param tag_name: the tag name.:
|
|
85
|
-
:param parameters:
|
|
81
|
+
:param parameters: keyword arguments of parameters mapped to their value.
|
|
86
82
|
"""
|
|
87
83
|
|
|
88
|
-
|
|
84
|
+
if group_name == "System":
|
|
85
|
+
definition = get_system_tag(tag_name)
|
|
86
|
+
else:
|
|
87
|
+
definition = self._config.get_definition_by_names(group_name, tag_name)
|
|
89
88
|
|
|
90
|
-
# The provided
|
|
89
|
+
# The provided kwargs must match the structure defined in the config in order for value conversion to work
|
|
91
90
|
converted_params = {
|
|
92
91
|
param_def.name: LMS_Field(parameters[param_def.name], param_def)
|
|
93
92
|
for param_def in definition.parameters
|
|
94
93
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
)
|
|
94
|
+
|
|
95
|
+
tag = LMS_DecodedTag(
|
|
96
|
+
definition.group_index,
|
|
97
|
+
definition.tag_index,
|
|
98
|
+
group_name,
|
|
99
|
+
tag_name,
|
|
100
|
+
converted_params,
|
|
103
101
|
)
|
|
102
|
+
self._parts.append(tag)
|
|
104
103
|
|
|
105
104
|
def append_tag_string(self, string: str) -> None:
|
|
106
105
|
"""Appends a tag to the current message given a string.
|
|
@@ -6,7 +6,7 @@ from LMS.Message.Definitions.Field.Stream import read_field, write_field
|
|
|
6
6
|
from LMS.Message.Tag.LMS_Tag import LMS_DecodedTag, LMS_EncodedTag, LMS_TagBase
|
|
7
7
|
from LMS.Message.Tag.LMS_TagExceptions import (LMS_TagReadingError,
|
|
8
8
|
LMS_TagWritingException)
|
|
9
|
-
from LMS.Message.Tag.System_Definitions import
|
|
9
|
+
from LMS.Message.Tag.System_Definitions import get_system_tag
|
|
10
10
|
from LMS.TitleConfig.Definitions.Tags import TagConfig, TagDefinition
|
|
11
11
|
|
|
12
12
|
|
|
@@ -29,7 +29,7 @@ def read_tag(
|
|
|
29
29
|
return LMS_EncodedTag(group_index, tag_index, parameters)
|
|
30
30
|
|
|
31
31
|
if group_index == 0:
|
|
32
|
-
definition =
|
|
32
|
+
definition = get_system_tag(tag_index)
|
|
33
33
|
else:
|
|
34
34
|
definition = config.get_definition_by_indexes(group_index, tag_index)
|
|
35
35
|
|
|
@@ -2,6 +2,11 @@ from LMS.Common.LMS_DataType import LMS_DataType
|
|
|
2
2
|
from LMS.TitleConfig.Definitions.Tags import TagDefinition
|
|
3
3
|
from LMS.TitleConfig.Definitions.Value import ValueDefinition
|
|
4
4
|
|
|
5
|
+
|
|
6
|
+
def get_system_tag(group: int | str) -> TagDefinition:
|
|
7
|
+
return SYSTEM_INT_MAP[group] if isinstance(group, int) else SYSTEM_STR_MAP[group]
|
|
8
|
+
|
|
9
|
+
|
|
5
10
|
RUBY_TAG = TagDefinition(
|
|
6
11
|
group_name="System",
|
|
7
12
|
group_index=0,
|
|
@@ -73,11 +78,3 @@ PAGEBREAK_TAG = TagDefinition(
|
|
|
73
78
|
tag_index=4,
|
|
74
79
|
description="Displays text in the same label on different pages.",
|
|
75
80
|
)
|
|
76
|
-
|
|
77
|
-
SYSTEM_GROUP = {
|
|
78
|
-
0: RUBY_TAG,
|
|
79
|
-
1: FONT_TAG,
|
|
80
|
-
2: SIZE_TAG,
|
|
81
|
-
3: COLOR_TAG,
|
|
82
|
-
4: PAGEBREAK_TAG,
|
|
83
|
-
}
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "PyLibMS"
|
|
7
|
-
version = "2.1.
|
|
7
|
+
version = "2.1.3"
|
|
8
8
|
requires-python = ">=3.12"
|
|
9
9
|
description = "Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and MSBF."
|
|
10
10
|
readme = "README.md"
|
|
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
|
|
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
|
|
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
|
{pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Brain Age Concentration Training.yaml
RENAMED
|
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
|