PyLibMS 4.2.3__py3-none-any.whl → 4.2.4__py3-none-any.whl

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.
@@ -36,20 +36,26 @@ class LMS_FieldMap:
36
36
  """Converts the field map to a regular dictionary."""
37
37
  return {field.name: field.value for field in self.fields.values()}
38
38
 
39
- @classmethod
40
- def create_default_map(cls, definitions: list[ValueDefinition]):
41
- field_map = {}
39
+ @staticmethod
40
+ def create_default_dict_map(definitions: list[ValueDefinition]) -> dict[str, FieldValue]:
41
+ map = {}
42
42
  for definition in definitions:
43
43
  match definition.datatype:
44
+ case LMS_DataType.STRING:
45
+ map[definition.name] = ""
44
46
  case LMS_DataType.LIST:
45
- field_map[definition.name] = definition.list_items[0]
47
+ map[definition.name] = definition.list_items[0]
46
48
  case LMS_DataType.BOOL:
47
- field_map[definition.name] = False
49
+ map[definition.name] = False
48
50
  case LMS_DataType.FLOAT32:
49
- field_map[definition.name] = 0.0
51
+ map[definition.name] = 0.0
50
52
  case _:
51
- field_map[definition.name] = 0
52
- return cls.from_dict(field_map, definitions)
53
+ map[definition.name] = 0
54
+ return map
55
+
56
+ @classmethod
57
+ def create_default_map(cls, definitions: list[ValueDefinition]):
58
+ return cls.from_dict(LMS_FieldMap.create_default_map(definitions), definitions)
53
59
 
54
60
  @classmethod
55
61
  def from_dict(cls, data: dict[str, FieldValue], definitions: list[ValueDefinition]):
@@ -14,7 +14,7 @@ class NodeConfig:
14
14
  """
15
15
 
16
16
  branch_definitions: dict[int, NodeDefinition | tuple[NodeDefinition, ...]]
17
- event_definitions: dict[int, NodeDefinition, tuple[NodeDefinition, ...]]
17
+ event_definitions: dict[int, NodeDefinition | tuple[NodeDefinition, ...]]
18
18
 
19
19
  def get_definition(self, id: int,
20
20
  node_type: LMS_NodeType.BRANCH | LMS_NodeType.EVENT,
@@ -4,36 +4,81 @@ node_definitions:
4
4
  - id: 0
5
5
  name: EvaluateExpression
6
6
  parameter_type: string
7
+ case_options:
8
+ 0: "true"
9
+ 1: "false"
7
10
  parameters:
8
11
  - name: exp
9
12
  - id: 1
10
13
  name: SwitchVariable
11
- case_format: "var == $case"
12
14
  parameter_type: string
15
+ case_format: "$var == $case"
13
16
  parameters:
14
17
  - name: var
18
+ - id: 16
19
+ name: MiiHasPhraseSet
20
+ parameter_type: p32_1
21
+ case_options:
22
+ 0: "true"
23
+ 1: "false"
24
+ parameters:
25
+ - name: Parameter
26
+ datatype: list
27
+ list_items:
28
+ - Worried_Phrase
29
+ - Good_Phrase
30
+ - Nervous_Phrase
31
+ - Despond_Phase
32
+ - id: 16
33
+ name: EvaluateLayoutResult
34
+ parameter_type: string
35
+ case_format: "button $case clicked"
36
+ parameters:
37
+ - name: layout
38
+ - id: 30
39
+ name: EvaluateMiiRelationshipScore
40
+ parameter_type: p32_1
41
+ case_options:
42
+ 0: "Status.BEST (80+)"
43
+ 1: "Status.GOOD (60-79)"
44
+ 2: "Status.AVERAGE (40-59)"
45
+ 3: "Status.POOR (20-39)"
46
+ 4: "Status.TERRIBLE (0-19)"
47
+ parameters:
48
+ - name: Parameter
15
49
  event:
16
50
  - id: 3
17
51
  name: SetVariable
18
52
  parameter_type: string
19
53
  parameters:
20
54
  - name: expression
55
+ - id: 39
56
+ name: SelectMii
57
+ parameter_type: string
58
+ parameters:
59
+ - name: mii
21
60
  - id: 43
22
61
  name: SetMiiPosition
23
62
  parameter_type: string
24
63
  parameters:
25
64
  - name: pos
65
+ - id: 44
66
+ name: PlayMiiAnimation
67
+ parameter_type: string
68
+ parameters:
69
+ - name: anim
70
+ - id: 48
71
+ name: SetupMessage
72
+ parameter_type: p16_16
73
+ parameters:
74
+ - name: "Parameter 1"
75
+ - name: "Parameter 2"
26
76
  - id: 58
27
77
  name: SetupButtonPrompt
28
78
  next_node_dependency: true
29
79
  parameter_type: string
30
80
  parameters:
31
81
  - name: var
32
- - id: 82
33
- name: SetFlag
34
- parameter_type: p32_1
35
- parameters:
36
- - name: flag
37
82
  - id: 90
38
83
  name: LoadSEGroup
39
84
  parameter_type: string
@@ -44,6 +89,11 @@ node_definitions:
44
89
  parameter_type: string
45
90
  parameters:
46
91
  - name: name
92
+ - id: 106
93
+ name: SetLayoutVisibility
94
+ parameter_type: string
95
+ parameters:
96
+ - name: "layout,visibility"
47
97
  tag_definitions:
48
98
  groups:
49
99
  0: System
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyLibMS
3
- Version: 4.2.3
3
+ Version: 4.2.4
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
@@ -6,7 +6,7 @@ lms/common/lms_fileinfo.py,sha256=pTabx6x3DuE0bMGmjXOcXVQDWF30G_0VnWrzRRf36IU,25
6
6
  lms/common/field/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  lms/common/field/io.py,sha256=djisZnZIKt-qhfkrCPsqAuoBUf0m0bDkSE1Ccp6On5Q,3173
8
8
  lms/common/field/lms_datatype.py,sha256=tCbIlFlo8UlFOD0WKccLghaTi9_d69yI5ZKEtZM4qZg,4698
9
- lms/common/field/lms_field.py,sha256=jvA36oiv1ShFwiVS32r738iOe4n57v63xKOoKECRKDE,6024
9
+ lms/common/field/lms_field.py,sha256=7WTDyOA-YQrQA5aTeR70gn9_ZLnIiW5nvsXpdLU0kqs,6255
10
10
  lms/common/stream/fileinfo.py,sha256=sojHDJFvB1fCBS3H9Z_kZwKtSP0E5XvF97OJxs7o9n4,2308
11
11
  lms/common/stream/hashtable.py,sha256=ljPOCaJs9S6a0zvljnWLNZQ7myzqntaRf6HPsiylGk0,2565
12
12
  lms/common/stream/section.py,sha256=WAqqj4FlUS8puB0iAnjzwNRtJ0YdHVK_DSrj051TZwU,1639
@@ -58,7 +58,7 @@ lms/titleconfig/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
58
  lms/titleconfig/config.py,sha256=SDryeNLLRKDEaDL6ffqmHE_Q0EB3g7jznKP8FGM9sEk,12107
59
59
  lms/titleconfig/definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
60
  lms/titleconfig/definitions/attribute.py,sha256=1Wcnn9FFicUHVWRtnx1S7LP-hmtE2MxIvtgncpsWX5c,299
61
- lms/titleconfig/definitions/nodes.py,sha256=x2UeOjsrUK-ol-kXtmULAqIqEastPYcC3Ermyl1RWYE,5125
61
+ lms/titleconfig/definitions/nodes.py,sha256=SphCfl0b0SjdSbeobKjBb4nZM_Rpq5W9UfuvVszPyk0,5126
62
62
  lms/titleconfig/definitions/tags.py,sha256=84aM-QgPFxonllkzRwTvPR76CvV_LJpypFv4ABNsJ7o,2916
63
63
  lms/titleconfig/definitions/value.py,sha256=_Py26KzhQ93v83k7k6_ywO0U1WTWFUzyodtQdWjBxSI,576
64
64
  lms/titleconfig/presets/Badge Arcade.yaml,sha256=OotJblQ210dNPiwBpdAI1qwbEYCRQn4jDI7boUSrCao,11854
@@ -70,9 +70,9 @@ lms/titleconfig/presets/Super Mario Odyssey.yaml,sha256=mV4BsLPzupEPy2RmPUxXlz0U
70
70
  lms/titleconfig/presets/The Legend of Zelda Echos of Wisdom.yaml,sha256=6AoSNRNORjMzMBp2ais_ujRdLLeOe7FB0YlozZJNvHg,2878
71
71
  lms/titleconfig/presets/The Legend of Zelda a Link Between Worlds.yaml,sha256=IY8wPIWMA4ElnN_dtV455beBucntxEBeeJXxUUIrnuw,9785
72
72
  lms/titleconfig/presets/Tomodachi Life Living The Dream.yaml,sha256=hJNb0_KdUAZrztyphaTeaZJl_os7HpmdglLgly_eerU,82382
73
- lms/titleconfig/presets/Tomodachi Life NA-EU.yaml,sha256=0W9JayobbFCieqDufnedpjRMbOWR2nOdzR-YbJmxs4M,188361
74
- pylibms-4.2.3.dist-info/licenses/LICENSE,sha256=IGTA9rMb-XpTMPJOzC6z0rRxSzysj3DlV5IQyDd06Xo,1061
75
- pylibms-4.2.3.dist-info/METADATA,sha256=zDbRX_lsd3z8UPg9zr605AKTr7uqLmTYC6g22PL0TyE,4208
76
- pylibms-4.2.3.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
77
- pylibms-4.2.3.dist-info/top_level.txt,sha256=SWQqb3sjP5r5Ls1Ol4E_PIbsv1sggK4DCkkLEzXNRTU,4
78
- pylibms-4.2.3.dist-info/RECORD,,
73
+ lms/titleconfig/presets/Tomodachi Life NA-EU.yaml,sha256=DCPc9_wQc9ZqyTRbfRY4ukmlNGV9AM5D0iWZhbuPm9k,189657
74
+ pylibms-4.2.4.dist-info/licenses/LICENSE,sha256=IGTA9rMb-XpTMPJOzC6z0rRxSzysj3DlV5IQyDd06Xo,1061
75
+ pylibms-4.2.4.dist-info/METADATA,sha256=uKkt5ycip2iXf9OtV5CNkcicY4smCzst5TzOltIE64k,4208
76
+ pylibms-4.2.4.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
77
+ pylibms-4.2.4.dist-info/top_level.txt,sha256=SWQqb3sjP5r5Ls1Ol4E_PIbsv1sggK4DCkkLEzXNRTU,4
78
+ pylibms-4.2.4.dist-info/RECORD,,