miijs 2.5.1 → 2.5.3

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.
package/formats.js ADDED
@@ -0,0 +1,3480 @@
1
+ module.exports={
2
+ 'rcd': {//Wii Miis
3
+ length: 0x4a,
4
+ aliases: ['mii', 'miigx', 'mae'],
5
+ struct: [
6
+ //0x0
7
+ {
8
+ name: "unknown",
9
+ length: 1
10
+ },
11
+ {
12
+ name: "gender",//0 Male, 1 Female
13
+ length: 1
14
+ },
15
+ {
16
+ name: "birthMonth",
17
+ length: 4,
18
+ max: 12//0=Not Set
19
+ },
20
+ //Last two bits of 0x0 - 0x1
21
+ {
22
+ name: "birthday",
23
+ length: 5,
24
+ max: 31
25
+ },
26
+ {
27
+ name: "favoriteColor",
28
+ length: 4,
29
+ max: 11
30
+ },
31
+ {
32
+ name: "favorited",
33
+ length: 1
34
+ },
35
+ //0x2
36
+ {
37
+ name: "name",
38
+ text: true,
39
+ length: 160//Could check if this is valid text in future
40
+ },
41
+ //0x16
42
+ {
43
+ name: "height",
44
+ length: 8,
45
+ max: 127
46
+ },
47
+ //0x17
48
+ {
49
+ name: "weight",
50
+ length: 8,
51
+ max: 127
52
+ },
53
+ //0x18
54
+ {
55
+ name: "miiId",
56
+ length: 32
57
+ },
58
+ //x01C
59
+ {
60
+ name: "systemId",
61
+ length: 32
62
+ },
63
+ //0x2
64
+ {
65
+ name: "faceType",
66
+ length: 3,
67
+ max: 7
68
+ },
69
+ {
70
+ name: "faceColor",
71
+ length: 3,
72
+ max: 5
73
+ },
74
+ //Last two bits of 0x2 - 0x21
75
+ {
76
+ name: "faceFeature",
77
+ length: 4,
78
+ max: 11
79
+ },
80
+ {
81
+ name: "unknown",
82
+ length: 3,
83
+ },
84
+ {
85
+ name: "mingle",
86
+ length: 1
87
+ },
88
+ {
89
+ name: "unknown",
90
+ length: 1
91
+ },
92
+ {
93
+ name: "fromCheckMiiOut",
94
+ length: 1
95
+ },
96
+ //0x22
97
+ {
98
+ name: "hairType",
99
+ length: 7,
100
+ max: 71
101
+ },
102
+ //Last bit of 0x22 - 0x23
103
+ {
104
+ name: "hairColor",
105
+ length: 3,
106
+ max: 7
107
+ },
108
+ {
109
+ name: "hairFlipped",
110
+ length: 1,
111
+ },
112
+ {
113
+ name: "unknown",
114
+ length: 5
115
+ },
116
+ //0x24
117
+ {
118
+ name: "eyebrowType",
119
+ length: 5,
120
+ max: 23
121
+ },
122
+ {
123
+ name: "unknown",
124
+ length: 1
125
+ },
126
+ //Last two bits of 0x24 - 0x25
127
+ {
128
+ name: "eyebrowRotation",
129
+ length: 4,
130
+ max: 11
131
+ },
132
+ {
133
+ name: "unknown",
134
+ length: 6
135
+ },
136
+ //0x26
137
+ {
138
+ name: "eyebrowColor",
139
+ length: 3,
140
+ max: 7
141
+ },
142
+ {
143
+ name: "eyebrowSize",
144
+ length: 4,
145
+ max: 8
146
+ },
147
+ //Last bit of 0x26 - 0x27
148
+ {
149
+ name: "eyebrowYPosition",
150
+ length: 5,
151
+ min: 3,
152
+ max: 18
153
+ },
154
+ {
155
+ name: "eyebrowDistanceApart",
156
+ length: 4,
157
+ max: 12
158
+ },
159
+ //0x28
160
+ {
161
+ name: "eyeType",
162
+ length: 6,
163
+ max: 47
164
+ },
165
+ {
166
+ name: "unknown",
167
+ length: 2
168
+ },
169
+ //0x29
170
+ {
171
+ name: "eyeRotation",
172
+ length: 3,
173
+ max: 7
174
+ },
175
+ {
176
+ name: "eyeYPosition",
177
+ length: 5,
178
+ max: 18
179
+ },
180
+ //0x2A
181
+ {
182
+ name: "eyeColor",
183
+ length: 3,
184
+ max: 5
185
+ },
186
+ {
187
+ name: "unknown",
188
+ length: 1
189
+ },
190
+ {
191
+ name: "eyeSize",
192
+ length: 3,
193
+ max: 7
194
+ },
195
+ //Last bit of 0x2A - 0x2B
196
+ {
197
+ name: "eyeDistanceApart",
198
+ length: 4,
199
+ max: 12
200
+ },
201
+ {
202
+ name: "unknown",
203
+ length: 5
204
+ },
205
+ //0x2C
206
+ {
207
+ name: "noseType",
208
+ length: 4,
209
+ max: 11
210
+ },
211
+ {
212
+ name: "noseSize",
213
+ length: 4,
214
+ max: 8
215
+ },
216
+ //0x2D
217
+ {
218
+ name: "noseYPosition",
219
+ length: 5,
220
+ max: 18
221
+ },
222
+ {
223
+ name: "unknown",
224
+ length: 3
225
+ },
226
+ //0x2E
227
+ {
228
+ name: "mouthType",
229
+ length: 5,
230
+ max: 23
231
+ },
232
+ {
233
+ name: "mouthColor",
234
+ length: 2,
235
+ max: 2
236
+ },
237
+ //Last bit of 0x2E - 0x2F
238
+ {
239
+ name: "mouthSize",
240
+ length: 4,
241
+ max: 8
242
+ },
243
+ {
244
+ name: "mouthYPosition",
245
+ length: 5,
246
+ max: 18
247
+ },
248
+ //0x30
249
+ {
250
+ name: "glassesType",
251
+ length: 4,
252
+ max: 8
253
+ },
254
+ {
255
+ name: "glassesColor",
256
+ length: 3,
257
+ max: 5
258
+ },
259
+ {
260
+ name: "disablesMii",
261
+ length: 1,
262
+ max: 0
263
+ },
264
+ //0x31
265
+ {
266
+ name: "glassesSize",
267
+ length: 3,
268
+ max: 7
269
+ },
270
+ {
271
+ name: "glassesYPosition",
272
+ length: 5,
273
+ max: 20
274
+ },
275
+ //0x32
276
+ {
277
+ name: "mustacheType",
278
+ length: 2,
279
+ max: 3
280
+ },
281
+ {
282
+ name: "beardType",
283
+ length: 2,
284
+ max: 3
285
+ },
286
+ {
287
+ name: "beardColor",
288
+ length: 3,
289
+ max: 7
290
+ },
291
+ //Last bit of 0x32 - 0x33
292
+ {
293
+ name: "mustacheSize",
294
+ length: 4,
295
+ max: 8
296
+ },
297
+ {
298
+ name: "mustacheYPosition",
299
+ length: 5,
300
+ max: 16
301
+ },
302
+ //0x34
303
+ {
304
+ name: "moleActive",
305
+ length: 1
306
+ },
307
+ {
308
+ name: "moleSize",
309
+ length: 4,
310
+ max: 8
311
+ },
312
+ //Last three bits of 0x34 - 0x35
313
+ {
314
+ name: "moleYPosition",
315
+ length: 5,
316
+ max: 30
317
+ },
318
+ {
319
+ name: "moleXPosition",
320
+ length: 5,
321
+ max: 16
322
+ },
323
+ {
324
+ name: "unknown",
325
+ length: 1
326
+ },
327
+ //0x36
328
+ {
329
+ name: "creatorName",
330
+ text: true,
331
+ length: 160
332
+ }//0x49
333
+ ]
334
+ },
335
+ 'rsd': {//Wii Miis with 2 Byte Checksum appended
336
+ length: 0x4c,
337
+ struct: [
338
+ //0x0
339
+ {
340
+ name: "unknown",
341
+ length: 1
342
+ },
343
+ {
344
+ name: "gender",//0 Male, 1 Female
345
+ length: 1
346
+ },
347
+ {
348
+ name: "birthMonth",
349
+ length: 4,
350
+ max: 12//0=Not Set
351
+ },
352
+ //Last two bits of 0x0 - 0x1
353
+ {
354
+ name: "birthday",
355
+ length: 5,
356
+ max: 31
357
+ },
358
+ {
359
+ name: "favoriteColor",
360
+ length: 4,
361
+ max: 11
362
+ },
363
+ {
364
+ name: "favorited",
365
+ length: 1
366
+ },
367
+ //0x2
368
+ {
369
+ name: "name",
370
+ text: true,
371
+ length: 160//Could check if this is valid text in future
372
+ },
373
+ //0x16
374
+ {
375
+ name: "height",
376
+ length: 8,
377
+ max: 127
378
+ },
379
+ //0x17
380
+ {
381
+ name: "weight",
382
+ length: 8,
383
+ max: 127
384
+ },
385
+ //0x18
386
+ {
387
+ name: "miiId",
388
+ length: 32
389
+ },
390
+ //x01C
391
+ {
392
+ name: "systemId",
393
+ length: 32
394
+ },
395
+ //0x2
396
+ {
397
+ name: "faceType",
398
+ length: 3,
399
+ max: 7
400
+ },
401
+ {
402
+ name: "faceColor",
403
+ length: 3,
404
+ max: 5
405
+ },
406
+ //Last two bits of 0x2 - 0x21
407
+ {
408
+ name: "faceFeature",
409
+ length: 4,
410
+ max: 11
411
+ },
412
+ {
413
+ name: "unknown",
414
+ length: 3,
415
+ },
416
+ {
417
+ name: "mingle",
418
+ length: 1
419
+ },
420
+ {
421
+ name: "unknown",
422
+ length: 1
423
+ },
424
+ {
425
+ name: "fromCheckMiiOut",
426
+ length: 1
427
+ },
428
+ //0x22
429
+ {
430
+ name: "hairType",
431
+ length: 7,
432
+ max: 71
433
+ },
434
+ //Last bit of 0x22 - 0x23
435
+ {
436
+ name: "hairColor",
437
+ length: 3,
438
+ max: 7
439
+ },
440
+ {
441
+ name: "hairFlipped",
442
+ length: 1,
443
+ },
444
+ {
445
+ name: "unknown",
446
+ length: 5
447
+ },
448
+ //0x24
449
+ {
450
+ name: "eyebrowType",
451
+ length: 5,
452
+ max: 23
453
+ },
454
+ {
455
+ name: "unknown",
456
+ length: 1
457
+ },
458
+ //Last two bits of 0x24 - 0x25
459
+ {
460
+ name: "eyebrowRotation",
461
+ length: 4,
462
+ max: 11
463
+ },
464
+ {
465
+ name: "unknown",
466
+ length: 6
467
+ },
468
+ //0x26
469
+ {
470
+ name: "eyebrowColor",
471
+ length: 3,
472
+ max: 7
473
+ },
474
+ {
475
+ name: "eyebrowSize",
476
+ length: 4,
477
+ max: 8
478
+ },
479
+ //Last bit of 0x26 - 0x27
480
+ {
481
+ name: "eyebrowYPosition",
482
+ length: 5,
483
+ min: 3,
484
+ max: 18
485
+ },
486
+ {
487
+ name: "eyebrowDistanceApart",
488
+ length: 4,
489
+ max: 12
490
+ },
491
+ //0x28
492
+ {
493
+ name: "eyeType",
494
+ length: 6,
495
+ max: 47
496
+ },
497
+ {
498
+ name: "unknown",
499
+ length: 2
500
+ },
501
+ //0x29
502
+ {
503
+ name: "eyeRotation",
504
+ length: 3,
505
+ max: 7
506
+ },
507
+ {
508
+ name: "eyeYPosition",
509
+ length: 5,
510
+ max: 18
511
+ },
512
+ //0x2A
513
+ {
514
+ name: "eyeColor",
515
+ length: 3,
516
+ max: 5
517
+ },
518
+ {
519
+ name: "unknown",
520
+ length: 1
521
+ },
522
+ {
523
+ name: "eyeSize",
524
+ length: 3,
525
+ max: 7
526
+ },
527
+ //Last bit of 0x2A - 0x2B
528
+ {
529
+ name: "eyeDistanceApart",
530
+ length: 4,
531
+ max: 12
532
+ },
533
+ {
534
+ name: "unknown",
535
+ length: 5
536
+ },
537
+ //0x2C
538
+ {
539
+ name: "noseType",
540
+ length: 4,
541
+ max: 11
542
+ },
543
+ {
544
+ name: "noseSize",
545
+ length: 4,
546
+ max: 8
547
+ },
548
+ //0x2D
549
+ {
550
+ name: "noseYPosition",
551
+ length: 5,
552
+ max: 18
553
+ },
554
+ {
555
+ name: "unknown",
556
+ length: 3
557
+ },
558
+ //0x2E
559
+ {
560
+ name: "mouthType",
561
+ length: 5,
562
+ max: 23
563
+ },
564
+ {
565
+ name: "mouthColor",
566
+ length: 2,
567
+ max: 2
568
+ },
569
+ //Last bit of 0x2E - 0x2F
570
+ {
571
+ name: "mouthSize",
572
+ length: 4,
573
+ max: 8
574
+ },
575
+ {
576
+ name: "mouthYPosition",
577
+ length: 5,
578
+ max: 18
579
+ },
580
+ //0x30
581
+ {
582
+ name: "glassesType",
583
+ length: 4,
584
+ max: 8
585
+ },
586
+ {
587
+ name: "glassesColor",
588
+ length: 3,
589
+ max: 5
590
+ },
591
+ {
592
+ name: "disablesMii",
593
+ length: 1,
594
+ max: 0
595
+ },
596
+ //0x31
597
+ {
598
+ name: "glasesSize",
599
+ length: 3,
600
+ max: 7
601
+ },
602
+ {
603
+ name: "glassesYPosition",
604
+ length: 5,
605
+ max: 20
606
+ },
607
+ //0x32
608
+ {
609
+ name: "mustacheType",
610
+ length: 2,
611
+ max: 3
612
+ },
613
+ {
614
+ name: "beardType",
615
+ length: 2,
616
+ max: 3
617
+ },
618
+ {
619
+ name: "beardColor",
620
+ length: 3,
621
+ max: 7
622
+ },
623
+ //Last bit of 0x32 - 0x33
624
+ {
625
+ name: "mustacheSize",
626
+ length: 4,
627
+ max: 8
628
+ },
629
+ {
630
+ name: "mustacheYPosition",
631
+ length: 5,
632
+ max: 16
633
+ },
634
+ //0x34
635
+ {
636
+ name: "moleActive",
637
+ length: 1
638
+ },
639
+ {
640
+ name: "moleSize",
641
+ length: 4,
642
+ max: 8
643
+ },
644
+ //Last three bits of 0x34 - 0x35
645
+ {
646
+ name: "moleYPosition",
647
+ length: 5,
648
+ max: 30
649
+ },
650
+ {
651
+ name: "moleXPosition",
652
+ length: 5,
653
+ max: 16
654
+ },
655
+ {
656
+ name: "unknown",
657
+ length: 1
658
+ },
659
+ //0x36
660
+ {
661
+ name: "creatorName",
662
+ text: true,
663
+ length: 160
664
+ },
665
+ //0x49
666
+ {
667
+ name: "checksum",
668
+ length: 16
669
+ }
670
+ ]
671
+ },
672
+
673
+ 'cfcd': {//CFSD without buffer or checksum
674
+ length: 0x5C,
675
+ struct: [
676
+ //0x0
677
+ {
678
+ name: "version",
679
+ length: 8,
680
+ min: 3,
681
+ max: 3
682
+ },
683
+ //0x1
684
+ {
685
+ name: "unknown",
686
+ length: 2
687
+ },
688
+ {
689
+ name: "charset",
690
+ length: 2,
691
+ max: 3
692
+ },
693
+ {
694
+ name: "region",
695
+ length: 2,
696
+ max: 3
697
+ },
698
+ {
699
+ name: "profaneNames",
700
+ length: 1
701
+ },
702
+ {
703
+ name: "copying",
704
+ length: 1
705
+ },
706
+ //0x2
707
+ {
708
+ name: "selectionSlotIndex",
709
+ length: 4
710
+ },
711
+ {
712
+ name: "selectionPageIndex",
713
+ length: 4
714
+ },
715
+ //0x3
716
+ {
717
+ name: "unknown",
718
+ length: 1
719
+ },
720
+ {
721
+ name: "originalDevice",
722
+ length: 3,
723
+ min: 3,
724
+ max: 3
725
+ },
726
+ {
727
+ name: "unknown",
728
+ length: 4
729
+ },
730
+ //0x4
731
+ {
732
+ name: "systemId",
733
+ length: 64
734
+ },
735
+ //0xC
736
+ {
737
+ name: "miiId",
738
+ length: 32
739
+ },
740
+ //0x10
741
+ {
742
+ name: "creatorMac",
743
+ length: 48
744
+ },
745
+ //0x16
746
+ {
747
+ name: "padding",
748
+ length: 16,
749
+ max: 0
750
+ },
751
+
752
+ //0x18
753
+ {
754
+ word: true,
755
+ length: 16
756
+ },
757
+ {
758
+ name: "gender",
759
+ length: 1//0 Male, 1 Female
760
+ },
761
+ {
762
+ name: "birthMonth",
763
+ length: 4,
764
+ max: 12//0 if not set
765
+ },
766
+ {
767
+ name: "birthday",
768
+ length: 5,
769
+ max: 31
770
+ },
771
+ {
772
+ name: "favoriteColor",
773
+ length: 4,
774
+ max: 11
775
+ },
776
+ {
777
+ name: "favorited",
778
+ length: 1
779
+ },
780
+ {
781
+ name: "unknown",
782
+ length: 1
783
+ },
784
+
785
+ //0x1A
786
+ {
787
+ name: "name",
788
+ text: true,
789
+ length: 160
790
+ },
791
+ //0x2E
792
+ {
793
+ name: "height",
794
+ length: 8,
795
+ max: 127
796
+ },
797
+ //0x2F
798
+ {
799
+ name: "weight",
800
+ length: 8,
801
+ max: 127
802
+ },
803
+ //0x30
804
+ {
805
+ name: "faceColor",
806
+ length: 3,
807
+ max: 5
808
+ },
809
+ {
810
+ name: "faceType",
811
+ length: 4,
812
+ max: 11
813
+ },
814
+ {
815
+ name: "sharing",
816
+ length: 1//0 True, 1 False
817
+ },
818
+ //0x31
819
+ {
820
+ name: "makeup",
821
+ length: 4,
822
+ max: 11
823
+ },
824
+ {
825
+ name: "faceFeature",
826
+ length: 4,
827
+ max: 11
828
+ },
829
+ //0x32
830
+ {
831
+ name: "hairStyle",
832
+ length: 8,
833
+ max: 131
834
+ },
835
+ //0x33
836
+ {
837
+ name: "unknown",
838
+ length: 4
839
+ },
840
+ {
841
+ name: "hairFlipped",
842
+ length: 1
843
+ },
844
+ {
845
+ name: "hairColor",
846
+ length: 3,
847
+ max: 7
848
+ },
849
+
850
+ //0x34
851
+ {
852
+ word: true,
853
+ length: 32
854
+ },
855
+ {
856
+ name: "eyeType",
857
+ length: 6,
858
+ max: 59
859
+ },
860
+ {
861
+ name: "eyeColor",
862
+ length: 3,
863
+ max: 5
864
+ },
865
+ {
866
+ name: "eyeSize",
867
+ length: 4,
868
+ max: 7//flip
869
+ },
870
+ {
871
+ name: "eyeSquash",
872
+ length: 3,
873
+ max: 6//flip
874
+ },
875
+ {
876
+ name: "eyeRotation",
877
+ length: 5,
878
+ max: 7
879
+ },
880
+ {
881
+ name: "eyeDistanceApart",
882
+ length: 4,
883
+ max: 12
884
+ },
885
+ {
886
+ name: "eyeYPosition",
887
+ length: 5,
888
+ max: 18
889
+ },
890
+ {
891
+ name: "unknown",
892
+ length: 2
893
+ },
894
+
895
+ //0x38
896
+ {
897
+ word: true,
898
+ length: 32
899
+ },
900
+ {
901
+ name: "eyebrowType",
902
+ length: 5,
903
+ max: 24
904
+ },
905
+ {
906
+ name: "eyebrowColor",
907
+ length: 3,
908
+ max: 7
909
+ },
910
+ {
911
+ name: "eyebrowSize",
912
+ length: 4,
913
+ max: 8//flip
914
+ },
915
+ {
916
+ name: "eyebrowSquash",
917
+ length: 3,
918
+ max: 6//flip
919
+ },
920
+ {
921
+ name: "unknown",
922
+ length: 1
923
+ },
924
+ {
925
+ name: "eyebrowRotation",
926
+ length: 4,
927
+ max: 11
928
+ },
929
+ {
930
+ name: "unknown",
931
+ length: 1
932
+ },
933
+ {
934
+ name: "eyebrowDistanceApart",
935
+ length: 4,
936
+ max: 12
937
+ },
938
+ {
939
+ name: "eyebrowYPosition",
940
+ length: 5,
941
+ min: 3,
942
+ max: 18
943
+ },
944
+ {
945
+ name: "unknown",
946
+ length: 2
947
+ },
948
+
949
+ //0x3C
950
+ {
951
+ word: true,
952
+ length: 16
953
+ },
954
+ {
955
+ name: "noseType",
956
+ length: 5,
957
+ max: 17
958
+ },
959
+ {
960
+ name: "noseSize",
961
+ length: 4,
962
+ max: 8//flip
963
+ },
964
+ {
965
+ name: "noseYPosition",
966
+ length: 5,
967
+ max: 18
968
+ },
969
+ {
970
+ name: "unknown",
971
+ length: 2
972
+ },
973
+
974
+ //0x3E
975
+ {
976
+ word: true,
977
+ length: 16
978
+ },
979
+ {
980
+ name: "mouthType",
981
+ length: 6,
982
+ max: 35
983
+ },
984
+ {
985
+ name: "mouthColor",
986
+ length: 3,
987
+ max: 4
988
+ },
989
+ {
990
+ name: "mouthSize",
991
+ length: 4,
992
+ max: 8//flip
993
+ },
994
+ {
995
+ name: "mouthSquash",
996
+ length: 3,
997
+ max: 6//flip
998
+ },
999
+
1000
+ //0x40
1001
+ {
1002
+ name: "unknown",
1003
+ length: 8
1004
+ },
1005
+
1006
+ //0x41
1007
+ {
1008
+ name: "mouthYPosition",
1009
+ length: 5,
1010
+ max: 18
1011
+ },
1012
+ {
1013
+ name: "mustacheType",
1014
+ length: 3,
1015
+ max: 5
1016
+ },
1017
+
1018
+ //0x42
1019
+ {
1020
+ word: true,
1021
+ length: 16
1022
+ },
1023
+ {
1024
+ name: "beardType",
1025
+ length: 3,
1026
+ max: 5
1027
+ },
1028
+ {
1029
+ name: "beardColor",
1030
+ length: 3,
1031
+ max: 7
1032
+ },
1033
+ {
1034
+ name: "mustacheSize",
1035
+ length: 4,
1036
+ max: 8//flip
1037
+ },
1038
+ {
1039
+ name: "mustacheYPosition",
1040
+ length: 5,
1041
+ max: 16
1042
+ },
1043
+ {
1044
+ name: "unknown",
1045
+ length: 1
1046
+ },
1047
+
1048
+ //0x44
1049
+ {
1050
+ word: true,
1051
+ length: 16
1052
+ },
1053
+ {
1054
+ name: "glassesType",
1055
+ length: 4,
1056
+ max: 8
1057
+ },
1058
+ {
1059
+ name: "glassesColor",
1060
+ length: 3,
1061
+ max: 5
1062
+ },
1063
+ {
1064
+ name: "glassesSize",
1065
+ length: 4,
1066
+ max: 7//flip
1067
+ },
1068
+ {
1069
+ name: "glassesYPosition",
1070
+ length: 5,
1071
+ max: 20
1072
+ },
1073
+
1074
+ //0x46
1075
+ {
1076
+ word: true,
1077
+ length: 16
1078
+ },
1079
+ {
1080
+ name: "moleActive",
1081
+ length: 1
1082
+ },
1083
+ {
1084
+ name: "moleSize",
1085
+ length: 4,
1086
+ max: 8//flip
1087
+ },
1088
+ {
1089
+ name: "moleXPosition",
1090
+ length: 5,
1091
+ max: 16
1092
+ },
1093
+ {
1094
+ name: "moleYPosition",
1095
+ length: 5,
1096
+ max: 30
1097
+ },
1098
+ {
1099
+ name: "unknown",
1100
+ length: 1
1101
+ },
1102
+
1103
+ //0x48
1104
+ {
1105
+ name: "creatorName",
1106
+ text: true,
1107
+ length: 160
1108
+ }
1109
+ ]
1110
+ },
1111
+ 'ffcd': {//FFSD without buffer or checksum
1112
+ length: 0x5C,
1113
+ be: false,
1114
+ struct: [
1115
+ //0x0
1116
+ {
1117
+ name: "version",
1118
+ length: 8,
1119
+ min: 3,
1120
+ max: 3
1121
+ },
1122
+ //0x1
1123
+ {
1124
+ name: "unknown",
1125
+ length: 2
1126
+ },
1127
+ {
1128
+ name: "charset",
1129
+ length: 2,
1130
+ max: 3
1131
+ },
1132
+ {
1133
+ name: "region",
1134
+ length: 2,
1135
+ max: 3
1136
+ },
1137
+ {
1138
+ name: "profaneNames",
1139
+ length: 1
1140
+ },
1141
+ {
1142
+ name: "copying",
1143
+ length: 1
1144
+ },
1145
+ //0x2
1146
+ {
1147
+ name: "selectionSlotIndex",
1148
+ length: 4
1149
+ },
1150
+ {
1151
+ name: "selectionPageIndex",
1152
+ length: 4
1153
+ },
1154
+ //0x3
1155
+ {
1156
+ name: "unknown",
1157
+ length: 1
1158
+ },
1159
+ {
1160
+ name: "originalDevice",
1161
+ length: 3,
1162
+ min: 4,
1163
+ max: 4
1164
+ },
1165
+ {
1166
+ name: "unknown",
1167
+ length: 4
1168
+ },
1169
+ //0x4
1170
+ {
1171
+ name: "systemId",
1172
+ length: 64
1173
+ },
1174
+ //0xC
1175
+ {
1176
+ name: "miiId",
1177
+ length: 32
1178
+ },
1179
+ //0x10
1180
+ {
1181
+ name: "creatorMac",
1182
+ length: 48
1183
+ },
1184
+ //0x16
1185
+ {
1186
+ name: "padding",
1187
+ length: 16,
1188
+ max: 0
1189
+ },
1190
+
1191
+ //0x18
1192
+ {
1193
+ word: true,
1194
+ length: 16
1195
+ },
1196
+ {
1197
+ name: "gender",
1198
+ length: 1//0 Male, 1 Female
1199
+ },
1200
+ {
1201
+ name: "birthMonth",
1202
+ length: 4,
1203
+ max: 12//0 if not set
1204
+ },
1205
+ {
1206
+ name: "birthday",
1207
+ length: 5,
1208
+ max: 31
1209
+ },
1210
+ {
1211
+ name: "favoriteColor",
1212
+ length: 4,
1213
+ max: 11
1214
+ },
1215
+ {
1216
+ name: "favorited",
1217
+ length: 1
1218
+ },
1219
+ {
1220
+ name: "unknown",
1221
+ length: 1
1222
+ },
1223
+
1224
+ //0x1A
1225
+ {
1226
+ name: "name",
1227
+ text: true,
1228
+ length: 160
1229
+ },
1230
+ //0x2E
1231
+ {
1232
+ name: "height",
1233
+ length: 8,
1234
+ max: 127
1235
+ },
1236
+ //0x2F
1237
+ {
1238
+ name: "weight",
1239
+ length: 8,
1240
+ max: 127
1241
+ },
1242
+ //0x30
1243
+ {
1244
+ name: "faceColor",
1245
+ length: 3,
1246
+ max: 5
1247
+ },
1248
+ {
1249
+ name: "faceType",
1250
+ length: 4,
1251
+ max: 11
1252
+ },
1253
+ {
1254
+ name: "sharing",
1255
+ length: 1//0 True, 1 False
1256
+ },
1257
+ //0x31
1258
+ {
1259
+ name: "makeup",
1260
+ length: 4,
1261
+ max: 11
1262
+ },
1263
+ {
1264
+ name: "faceFeature",
1265
+ length: 4,
1266
+ max: 11
1267
+ },
1268
+ //0x32
1269
+ {
1270
+ name: "hairStyle",
1271
+ length: 8,
1272
+ max: 131
1273
+ },
1274
+ //0x33
1275
+ {
1276
+ name: "unknown",
1277
+ length: 4
1278
+ },
1279
+ {
1280
+ name: "hairFlipped",
1281
+ length: 1
1282
+ },
1283
+ {
1284
+ name: "hairColor",
1285
+ length: 3,
1286
+ max: 7
1287
+ },
1288
+
1289
+ //0x34
1290
+ {
1291
+ word: true,
1292
+ length: 32
1293
+ },
1294
+ {
1295
+ name: "eyeType",
1296
+ length: 6,
1297
+ max: 59
1298
+ },
1299
+ {
1300
+ name: "eyeColor",
1301
+ length: 3,
1302
+ max: 5
1303
+ },
1304
+ {
1305
+ name: "eyeSize",
1306
+ length: 4,
1307
+ max: 7//flip
1308
+ },
1309
+ {
1310
+ name: "eyeSquash",
1311
+ length: 3,
1312
+ max: 6//flip
1313
+ },
1314
+ {
1315
+ name: "eyeRotation",
1316
+ length: 5,
1317
+ max: 7
1318
+ },
1319
+ {
1320
+ name: "eyeDistanceApart",
1321
+ length: 4,
1322
+ max: 12
1323
+ },
1324
+ {
1325
+ name: "eyeYPosition",
1326
+ length: 5,
1327
+ max: 18
1328
+ },
1329
+ {
1330
+ name: "unknown",
1331
+ length: 2
1332
+ },
1333
+
1334
+ //0x38
1335
+ {
1336
+ word: true,
1337
+ length: 32
1338
+ },
1339
+ {
1340
+ name: "eyebrowType",
1341
+ length: 5,
1342
+ max: 24
1343
+ },
1344
+ {
1345
+ name: "eyebrowColor",
1346
+ length: 3,
1347
+ max: 7
1348
+ },
1349
+ {
1350
+ name: "eyebrowSize",
1351
+ length: 4,
1352
+ max: 8//flip
1353
+ },
1354
+ {
1355
+ name: "eyebrowSquash",
1356
+ length: 3,
1357
+ max: 6//flip
1358
+ },
1359
+ {
1360
+ name: "unknown",
1361
+ length: 1
1362
+ },
1363
+ {
1364
+ name: "eyebrowRotation",
1365
+ length: 4,
1366
+ max: 11
1367
+ },
1368
+ {
1369
+ name: "unknown",
1370
+ length: 1
1371
+ },
1372
+ {
1373
+ name: "eyebrowDistanceApart",
1374
+ length: 4,
1375
+ max: 12
1376
+ },
1377
+ {
1378
+ name: "eyebrowYPosition",
1379
+ length: 5,
1380
+ min: 3,
1381
+ max: 18
1382
+ },
1383
+ {
1384
+ name: "unknown",
1385
+ length: 2
1386
+ },
1387
+
1388
+ //0x3C
1389
+ {
1390
+ word: true,
1391
+ length: 16
1392
+ },
1393
+ {
1394
+ name: "noseType",
1395
+ length: 5,
1396
+ max: 17
1397
+ },
1398
+ {
1399
+ name: "noseSize",
1400
+ length: 4,
1401
+ max: 8//flip
1402
+ },
1403
+ {
1404
+ name: "noseYPosition",
1405
+ length: 5,
1406
+ max: 18
1407
+ },
1408
+ {
1409
+ name: "unknown",
1410
+ length: 2
1411
+ },
1412
+
1413
+ //0x3E
1414
+ {
1415
+ word: true,
1416
+ length: 16
1417
+ },
1418
+ {
1419
+ name: "mouthType",
1420
+ length: 6,
1421
+ max: 35
1422
+ },
1423
+ {
1424
+ name: "mouthColor",
1425
+ length: 3,
1426
+ max: 4
1427
+ },
1428
+ {
1429
+ name: "mouthSize",
1430
+ length: 4,
1431
+ max: 8//flip
1432
+ },
1433
+ {
1434
+ name: "mouthSquash",
1435
+ length: 3,
1436
+ max: 6//flip
1437
+ },
1438
+
1439
+ //0x40
1440
+ {
1441
+ name: "unknown",
1442
+ length: 8
1443
+ },
1444
+
1445
+ //0x41
1446
+ {
1447
+ name: "mouthYPosition",
1448
+ length: 5,
1449
+ max: 18
1450
+ },
1451
+ {
1452
+ name: "mustacheType",
1453
+ length: 3,
1454
+ max: 5
1455
+ },
1456
+
1457
+ //0x42
1458
+ {
1459
+ word: true,
1460
+ length: 16
1461
+ },
1462
+ {
1463
+ name: "beardType",
1464
+ length: 3,
1465
+ max: 5
1466
+ },
1467
+ {
1468
+ name: "beardColor",
1469
+ length: 3,
1470
+ max: 7
1471
+ },
1472
+ {
1473
+ name: "mustacheSize",
1474
+ length: 4,
1475
+ max: 8//flip
1476
+ },
1477
+ {
1478
+ name: "mustacheYPosition",
1479
+ length: 5,
1480
+ max: 16
1481
+ },
1482
+ {
1483
+ name: "unknown",
1484
+ length: 1
1485
+ },
1486
+
1487
+ //0x44
1488
+ {
1489
+ word: true,
1490
+ length: 16
1491
+ },
1492
+ {
1493
+ name: "glassesType",
1494
+ length: 4,
1495
+ max: 8
1496
+ },
1497
+ {
1498
+ name: "glassesColor",
1499
+ length: 3,
1500
+ max: 5
1501
+ },
1502
+ {
1503
+ name: "glassesSize",
1504
+ length: 4,
1505
+ max: 7//flip
1506
+ },
1507
+ {
1508
+ name: "glassesYPosition",
1509
+ length: 5,
1510
+ max: 20
1511
+ },
1512
+
1513
+ //0x46
1514
+ {
1515
+ word: true,
1516
+ length: 16
1517
+ },
1518
+ {
1519
+ name: "moleActive",
1520
+ length: 1
1521
+ },
1522
+ {
1523
+ name: "moleSize",
1524
+ length: 4,
1525
+ max: 8//flip
1526
+ },
1527
+ {
1528
+ name: "moleXPosition",
1529
+ length: 5,
1530
+ max: 16
1531
+ },
1532
+ {
1533
+ name: "moleYPosition",
1534
+ length: 5,
1535
+ max: 30
1536
+ },
1537
+ {
1538
+ name: "unknown",
1539
+ length: 1
1540
+ },
1541
+
1542
+ //0x48
1543
+ {
1544
+ name: "creatorName",
1545
+ text: true,
1546
+ length: 160
1547
+ }
1548
+ ]
1549
+ },
1550
+ 'cfsd': {//3DS With 2 Byte 00 Buffer and 2 Byte Checksum Appended
1551
+ length: 0x60,
1552
+ struct: [
1553
+ //0x0
1554
+ {
1555
+ name: "version",
1556
+ length: 8,
1557
+ min: 3,
1558
+ max: 3
1559
+ },
1560
+ //0x1
1561
+ {
1562
+ name: "unknown",
1563
+ length: 2
1564
+ },
1565
+ {
1566
+ name: "charset",
1567
+ length: 2,
1568
+ max: 3
1569
+ },
1570
+ {
1571
+ name: "region",
1572
+ length: 2,
1573
+ max: 3
1574
+ },
1575
+ {
1576
+ name: "profaneNames",
1577
+ length: 1
1578
+ },
1579
+ {
1580
+ name: "copying",
1581
+ length: 1
1582
+ },
1583
+ //0x2
1584
+ {
1585
+ name: "selectionSlotIndex",
1586
+ length: 4
1587
+ },
1588
+ {
1589
+ name: "selectionPageIndex",
1590
+ length: 4
1591
+ },
1592
+ //0x3
1593
+ {
1594
+ name: "unknown",
1595
+ length: 1
1596
+ },
1597
+ {
1598
+ name: "originalDevice",
1599
+ length: 3,
1600
+ min: 3,
1601
+ max: 3
1602
+ },
1603
+ {
1604
+ name: "unknown",
1605
+ length: 4
1606
+ },
1607
+ //0x4
1608
+ {
1609
+ name: "systemId",
1610
+ length: 64
1611
+ },
1612
+ //0xC
1613
+ {
1614
+ name: "miiId",
1615
+ length: 32
1616
+ },
1617
+ //0x10
1618
+ {
1619
+ name: "creatorMac",
1620
+ length: 48
1621
+ },
1622
+ //0x16
1623
+ {
1624
+ name: "padding",
1625
+ length: 16,
1626
+ max: 0
1627
+ },
1628
+
1629
+ //0x18
1630
+ {
1631
+ word: true,
1632
+ length: 16
1633
+ },
1634
+ {
1635
+ name: "gender",
1636
+ length: 1//0 Male, 1 Female
1637
+ },
1638
+ {
1639
+ name: "birthMonth",
1640
+ length: 4,
1641
+ max: 12//0 if not set
1642
+ },
1643
+ {
1644
+ name: "birthday",
1645
+ length: 5,
1646
+ max: 31
1647
+ },
1648
+ {
1649
+ name: "favoriteColor",
1650
+ length: 4,
1651
+ max: 11
1652
+ },
1653
+ {
1654
+ name: "favorited",
1655
+ length: 1
1656
+ },
1657
+ {
1658
+ name: "unknown",
1659
+ length: 1
1660
+ },
1661
+
1662
+ //0x1A
1663
+ {
1664
+ name: "name",
1665
+ text: true,
1666
+ length: 160
1667
+ },
1668
+ //0x2E
1669
+ {
1670
+ name: "height",
1671
+ length: 8,
1672
+ max: 127
1673
+ },
1674
+ //0x2F
1675
+ {
1676
+ name: "weight",
1677
+ length: 8,
1678
+ max: 127
1679
+ },
1680
+ //0x30
1681
+ {
1682
+ name: "faceColor",
1683
+ length: 3,
1684
+ max: 5
1685
+ },
1686
+ {
1687
+ name: "faceType",
1688
+ length: 4,
1689
+ max: 11
1690
+ },
1691
+ {
1692
+ name: "sharing",
1693
+ length: 1//0 True, 1 False
1694
+ },
1695
+ //0x31
1696
+ {
1697
+ name: "makeup",
1698
+ length: 4,
1699
+ max: 11
1700
+ },
1701
+ {
1702
+ name: "faceFeature",
1703
+ length: 4,
1704
+ max: 11
1705
+ },
1706
+ //0x32
1707
+ {
1708
+ name: "hairStyle",
1709
+ length: 8,
1710
+ max: 131
1711
+ },
1712
+ //0x33
1713
+ {
1714
+ name: "unknown",
1715
+ length: 4
1716
+ },
1717
+ {
1718
+ name: "hairFlipped",
1719
+ length: 1
1720
+ },
1721
+ {
1722
+ name: "hairColor",
1723
+ length: 3,
1724
+ max: 7
1725
+ },
1726
+
1727
+ //0x34
1728
+ {
1729
+ word: true,
1730
+ length: 32
1731
+ },
1732
+ {
1733
+ name: "eyeType",
1734
+ length: 6,
1735
+ max: 59
1736
+ },
1737
+ {
1738
+ name: "eyeColor",
1739
+ length: 3,
1740
+ max: 5
1741
+ },
1742
+ {
1743
+ name: "eyeSize",
1744
+ length: 4,
1745
+ max: 7//flip
1746
+ },
1747
+ {
1748
+ name: "eyeSquash",
1749
+ length: 3,
1750
+ max: 6//flip
1751
+ },
1752
+ {
1753
+ name: "eyeRotation",
1754
+ length: 5,
1755
+ max: 7
1756
+ },
1757
+ {
1758
+ name: "eyeDistanceApart",
1759
+ length: 4,
1760
+ max: 12
1761
+ },
1762
+ {
1763
+ name: "eyeYPosition",
1764
+ length: 5,
1765
+ max: 18
1766
+ },
1767
+ {
1768
+ name: "unknown",
1769
+ length: 2
1770
+ },
1771
+
1772
+ //0x38
1773
+ {
1774
+ word: true,
1775
+ length: 32
1776
+ },
1777
+ {
1778
+ name: "eyebrowType",
1779
+ length: 5,
1780
+ max: 24
1781
+ },
1782
+ {
1783
+ name: "eyebrowColor",
1784
+ length: 3,
1785
+ max: 7
1786
+ },
1787
+ {
1788
+ name: "eyebrowSize",
1789
+ length: 4,
1790
+ max: 8//flip
1791
+ },
1792
+ {
1793
+ name: "eyebrowSquash",
1794
+ length: 3,
1795
+ max: 6//flip
1796
+ },
1797
+ {
1798
+ name: "unknown",
1799
+ length: 1
1800
+ },
1801
+ {
1802
+ name: "eyebrowRotation",
1803
+ length: 4,
1804
+ max: 11
1805
+ },
1806
+ {
1807
+ name: "unknown",
1808
+ length: 1
1809
+ },
1810
+ {
1811
+ name: "eyebrowDistanceApart",
1812
+ length: 4,
1813
+ max: 12
1814
+ },
1815
+ {
1816
+ name: "eyebrowYPosition",
1817
+ length: 5,
1818
+ min: 3,
1819
+ max: 18
1820
+ },
1821
+ {
1822
+ name: "unknown",
1823
+ length: 2
1824
+ },
1825
+
1826
+ //0x3C
1827
+ {
1828
+ word: true,
1829
+ length: 16
1830
+ },
1831
+ {
1832
+ name: "noseType",
1833
+ length: 5,
1834
+ max: 17
1835
+ },
1836
+ {
1837
+ name: "noseSize",
1838
+ length: 4,
1839
+ max: 8//flip
1840
+ },
1841
+ {
1842
+ name: "noseYPosition",
1843
+ length: 5,
1844
+ max: 18
1845
+ },
1846
+ {
1847
+ name: "unknown",
1848
+ length: 2
1849
+ },
1850
+
1851
+ //0x3E
1852
+ {
1853
+ word: true,
1854
+ length: 16
1855
+ },
1856
+ {
1857
+ name: "mouthType",
1858
+ length: 6,
1859
+ max: 35
1860
+ },
1861
+ {
1862
+ name: "mouthColor",
1863
+ length: 3,
1864
+ max: 4
1865
+ },
1866
+ {
1867
+ name: "mouthSize",
1868
+ length: 4,
1869
+ max: 8//flip
1870
+ },
1871
+ {
1872
+ name: "mouthSquash",
1873
+ length: 3,
1874
+ max: 6//flip
1875
+ },
1876
+
1877
+ //0x40
1878
+ {
1879
+ name: "unknown",
1880
+ length: 8
1881
+ },
1882
+
1883
+ //0x41
1884
+ {
1885
+ name: "mouthYPosition",
1886
+ length: 5,
1887
+ max: 18
1888
+ },
1889
+ {
1890
+ name: "mustacheType",
1891
+ length: 3,
1892
+ max: 5
1893
+ },
1894
+
1895
+ //0x42
1896
+ {
1897
+ word: true,
1898
+ length: 16
1899
+ },
1900
+ {
1901
+ name: "beardType",
1902
+ length: 3,
1903
+ max: 5
1904
+ },
1905
+ {
1906
+ name: "beardColor",
1907
+ length: 3,
1908
+ max: 7
1909
+ },
1910
+ {
1911
+ name: "mustacheSize",
1912
+ length: 4,
1913
+ max: 8//flip
1914
+ },
1915
+ {
1916
+ name: "mustacheYPosition",
1917
+ length: 5,
1918
+ max: 16
1919
+ },
1920
+ {
1921
+ name: "unknown",
1922
+ length: 1
1923
+ },
1924
+
1925
+ //0x44
1926
+ {
1927
+ word: true,
1928
+ length: 16
1929
+ },
1930
+ {
1931
+ name: "glassesType",
1932
+ length: 4,
1933
+ max: 8
1934
+ },
1935
+ {
1936
+ name: "glassesColor",
1937
+ length: 3,
1938
+ max: 5
1939
+ },
1940
+ {
1941
+ name: "glassesSize",
1942
+ length: 4,
1943
+ max: 7//flip
1944
+ },
1945
+ {
1946
+ name: "glassesYPosition",
1947
+ length: 5,
1948
+ max: 20
1949
+ },
1950
+
1951
+ //0x46
1952
+ {
1953
+ word: true,
1954
+ length: 16
1955
+ },
1956
+ {
1957
+ name: "moleActive",
1958
+ length: 1
1959
+ },
1960
+ {
1961
+ name: "moleSize",
1962
+ length: 4,
1963
+ max: 8//flip
1964
+ },
1965
+ {
1966
+ name: "moleXPosition",
1967
+ length: 5,
1968
+ max: 16
1969
+ },
1970
+ {
1971
+ name: "moleYPosition",
1972
+ length: 5,
1973
+ max: 30
1974
+ },
1975
+ {
1976
+ name: "unknown",
1977
+ length: 1
1978
+ },
1979
+
1980
+ //0x48
1981
+ {
1982
+ name: "creatorName",
1983
+ text: true,
1984
+ length: 160
1985
+ },
1986
+
1987
+ {
1988
+ name: "buffer",
1989
+ length: 16,
1990
+ max: 0
1991
+ },
1992
+ {
1993
+ name: "checksum",
1994
+ length: 16
1995
+ }
1996
+ ]
1997
+ },
1998
+ 'ffsd': {//Exact same as CFSD, but with one number changed to 4 instead of 3
1999
+ length: 0x60,
2000
+ struct: [
2001
+ //0x0
2002
+ {
2003
+ name: "version",
2004
+ length: 8,
2005
+ min: 3,
2006
+ max: 3
2007
+ },
2008
+ //0x1
2009
+ {
2010
+ name: "unknown",
2011
+ length: 2
2012
+ },
2013
+ {
2014
+ name: "charset",
2015
+ length: 2,
2016
+ max: 3
2017
+ },
2018
+ {
2019
+ name: "region",
2020
+ length: 2,
2021
+ max: 3
2022
+ },
2023
+ {
2024
+ name: "profaneNames",
2025
+ length: 1
2026
+ },
2027
+ {
2028
+ name: "copying",
2029
+ length: 1
2030
+ },
2031
+ //0x2
2032
+ {
2033
+ name: "selectionSlotIndex",
2034
+ length: 4
2035
+ },
2036
+ {
2037
+ name: "selectionPageIndex",
2038
+ length: 4
2039
+ },
2040
+ //0x3
2041
+ {
2042
+ name: "unknown",
2043
+ length: 1
2044
+ },
2045
+ {
2046
+ name: "originalDevice",
2047
+ length: 3,
2048
+ min: 4,
2049
+ max: 4
2050
+ },
2051
+ {
2052
+ name: "unknown",
2053
+ length: 4
2054
+ },
2055
+ //0x4
2056
+ {
2057
+ name: "systemId",
2058
+ length: 64
2059
+ },
2060
+ //0xC
2061
+ {
2062
+ name: "miiId",
2063
+ length: 32
2064
+ },
2065
+ //0x10
2066
+ {
2067
+ name: "creatorMac",
2068
+ length: 48
2069
+ },
2070
+ //0x16
2071
+ {
2072
+ name: "padding",
2073
+ length: 16,
2074
+ max: 0
2075
+ },
2076
+
2077
+ //0x18
2078
+ {
2079
+ word: true,
2080
+ length: 16
2081
+ },
2082
+ {
2083
+ name: "gender",
2084
+ length: 1//0 Male, 1 Female
2085
+ },
2086
+ {
2087
+ name: "birthMonth",
2088
+ length: 4,
2089
+ max: 12//0 if not set
2090
+ },
2091
+ {
2092
+ name: "birthday",
2093
+ length: 5,
2094
+ max: 31
2095
+ },
2096
+ {
2097
+ name: "favoriteColor",
2098
+ length: 4,
2099
+ max: 11
2100
+ },
2101
+ {
2102
+ name: "favorited",
2103
+ length: 1
2104
+ },
2105
+ {
2106
+ name: "unknown",
2107
+ length: 1
2108
+ },
2109
+
2110
+ //0x1A
2111
+ {
2112
+ name: "name",
2113
+ text: true,
2114
+ length: 160
2115
+ },
2116
+ //0x2E
2117
+ {
2118
+ name: "height",
2119
+ length: 8,
2120
+ max: 127
2121
+ },
2122
+ //0x2F
2123
+ {
2124
+ name: "weight",
2125
+ length: 8,
2126
+ max: 127
2127
+ },
2128
+ //0x30
2129
+ {
2130
+ name: "faceColor",
2131
+ length: 3,
2132
+ max: 5
2133
+ },
2134
+ {
2135
+ name: "faceType",
2136
+ length: 4,
2137
+ max: 11
2138
+ },
2139
+ {
2140
+ name: "sharing",
2141
+ length: 1//0 True, 1 False
2142
+ },
2143
+ //0x31
2144
+ {
2145
+ name: "makeup",
2146
+ length: 4,
2147
+ max: 11
2148
+ },
2149
+ {
2150
+ name: "faceFeature",
2151
+ length: 4,
2152
+ max: 11
2153
+ },
2154
+ //0x32
2155
+ {
2156
+ name: "hairStyle",
2157
+ length: 8,
2158
+ max: 131
2159
+ },
2160
+ //0x33
2161
+ {
2162
+ name: "unknown",
2163
+ length: 4
2164
+ },
2165
+ {
2166
+ name: "hairFlipped",
2167
+ length: 1
2168
+ },
2169
+ {
2170
+ name: "hairColor",
2171
+ length: 3,
2172
+ max: 7
2173
+ },
2174
+
2175
+ //0x34
2176
+ {
2177
+ word: true,
2178
+ length: 32
2179
+ },
2180
+ {
2181
+ name: "eyeType",
2182
+ length: 6,
2183
+ max: 59
2184
+ },
2185
+ {
2186
+ name: "eyeColor",
2187
+ length: 3,
2188
+ max: 5
2189
+ },
2190
+ {
2191
+ name: "eyeSize",
2192
+ length: 4,
2193
+ max: 7//flip
2194
+ },
2195
+ {
2196
+ name: "eyeSquash",
2197
+ length: 3,
2198
+ max: 6//flip
2199
+ },
2200
+ {
2201
+ name: "eyeRotation",
2202
+ length: 5,
2203
+ max: 7
2204
+ },
2205
+ {
2206
+ name: "eyeDistanceApart",
2207
+ length: 4,
2208
+ max: 12
2209
+ },
2210
+ {
2211
+ name: "eyeYPosition",
2212
+ length: 5,
2213
+ max: 18
2214
+ },
2215
+ {
2216
+ name: "unknown",
2217
+ length: 2
2218
+ },
2219
+
2220
+ //0x38
2221
+ {
2222
+ word: true,
2223
+ length: 32
2224
+ },
2225
+ {
2226
+ name: "eyebrowType",
2227
+ length: 5,
2228
+ max: 24
2229
+ },
2230
+ {
2231
+ name: "eyebrowColor",
2232
+ length: 3,
2233
+ max: 7
2234
+ },
2235
+ {
2236
+ name: "eyebrowSize",
2237
+ length: 4,
2238
+ max: 8//flip
2239
+ },
2240
+ {
2241
+ name: "eyebrowSquash",
2242
+ length: 3,
2243
+ max: 6//flip
2244
+ },
2245
+ {
2246
+ name: "unknown",
2247
+ length: 1
2248
+ },
2249
+ {
2250
+ name: "eyebrowRotation",
2251
+ length: 4,
2252
+ max: 11
2253
+ },
2254
+ {
2255
+ name: "unknown",
2256
+ length: 1
2257
+ },
2258
+ {
2259
+ name: "eyebrowDistanceApart",
2260
+ length: 4,
2261
+ max: 12
2262
+ },
2263
+ {
2264
+ name: "eyebrowYPosition",
2265
+ length: 5,
2266
+ min: 3,
2267
+ max: 18
2268
+ },
2269
+ {
2270
+ name: "unknown",
2271
+ length: 2
2272
+ },
2273
+
2274
+ //0x3C
2275
+ {
2276
+ word: true,
2277
+ length: 16
2278
+ },
2279
+ {
2280
+ name: "noseType",
2281
+ length: 5,
2282
+ max: 17
2283
+ },
2284
+ {
2285
+ name: "noseSize",
2286
+ length: 4,
2287
+ max: 8//flip
2288
+ },
2289
+ {
2290
+ name: "noseYPosition",
2291
+ length: 5,
2292
+ max: 18
2293
+ },
2294
+ {
2295
+ name: "unknown",
2296
+ length: 2
2297
+ },
2298
+
2299
+ //0x3E
2300
+ {
2301
+ word: true,
2302
+ length: 16
2303
+ },
2304
+ {
2305
+ name: "mouthType",
2306
+ length: 6,
2307
+ max: 35
2308
+ },
2309
+ {
2310
+ name: "mouthColor",
2311
+ length: 3,
2312
+ max: 4
2313
+ },
2314
+ {
2315
+ name: "mouthSize",
2316
+ length: 4,
2317
+ max: 8//flip
2318
+ },
2319
+ {
2320
+ name: "mouthSquash",
2321
+ length: 3,
2322
+ max: 6//flip
2323
+ },
2324
+
2325
+ //0x40
2326
+ {
2327
+ name: "unknown",
2328
+ length: 8
2329
+ },
2330
+
2331
+ //0x41
2332
+ {
2333
+ name: "mouthYPosition",
2334
+ length: 5,
2335
+ max: 18
2336
+ },
2337
+ {
2338
+ name: "mustacheType",
2339
+ length: 3,
2340
+ max: 5
2341
+ },
2342
+
2343
+ //0x42
2344
+ {
2345
+ word: true,
2346
+ length: 16
2347
+ },
2348
+ {
2349
+ name: "beardType",
2350
+ length: 3,
2351
+ max: 5
2352
+ },
2353
+ {
2354
+ name: "beardColor",
2355
+ length: 3,
2356
+ max: 7
2357
+ },
2358
+ {
2359
+ name: "mustacheSize",
2360
+ length: 4,
2361
+ max: 8//flip
2362
+ },
2363
+ {
2364
+ name: "mustacheYPosition",
2365
+ length: 5,
2366
+ max: 16
2367
+ },
2368
+ {
2369
+ name: "unknown",
2370
+ length: 1
2371
+ },
2372
+
2373
+ //0x44
2374
+ {
2375
+ word: true,
2376
+ length: 16
2377
+ },
2378
+ {
2379
+ name: "glassesType",
2380
+ length: 4,
2381
+ max: 8
2382
+ },
2383
+ {
2384
+ name: "glassesColor",
2385
+ length: 3,
2386
+ max: 5
2387
+ },
2388
+ {
2389
+ name: "glassesSize",
2390
+ length: 4,
2391
+ max: 7//flip
2392
+ },
2393
+ {
2394
+ name: "glassesYPosition",
2395
+ length: 5,
2396
+ max: 20
2397
+ },
2398
+
2399
+ //0x46
2400
+ {
2401
+ word: true,
2402
+ length: 16
2403
+ },
2404
+ {
2405
+ name: "moleActive",
2406
+ length: 1
2407
+ },
2408
+ {
2409
+ name: "moleSize",
2410
+ length: 4,
2411
+ max: 8//flip
2412
+ },
2413
+ {
2414
+ name: "moleXPosition",
2415
+ length: 5,
2416
+ max: 16
2417
+ },
2418
+ {
2419
+ name: "moleYPosition",
2420
+ length: 5,
2421
+ max: 30
2422
+ },
2423
+ {
2424
+ name: "unknown",
2425
+ length: 1
2426
+ },
2427
+
2428
+ //0x48
2429
+ {
2430
+ name: "creatorName",
2431
+ text: true,
2432
+ length: 160
2433
+ },
2434
+
2435
+ {
2436
+ name: "buffer",
2437
+ length: 16,
2438
+ max: 0
2439
+ },
2440
+ {
2441
+ name: "checksum",
2442
+ length: 16
2443
+ }
2444
+ ]
2445
+ },
2446
+
2447
+ 'cfed': {//CFSD Encrypted for QR (Unofficial Name)
2448
+ length: 0x70
2449
+ //These are encrypted so no validation can be done without running decryption or part of decryption
2450
+ },
2451
+ 'ffed': {//FFSD Encrypted for QR (Unofficial Name)
2452
+ length: 0x70
2453
+ //These are encrypted so no validation can be done without running decryption or part of decryption
2454
+ },
2455
+
2456
+ 'nfsd': {//Switch NAND Format (Probably Unofficial Name)
2457
+ aliases: ['switchdb', 'nfdb', 'sampledb'],
2458
+ length: 544,
2459
+ struct: [
2460
+ {
2461
+ name: "hairType",
2462
+ length: 8,
2463
+ max: 131
2464
+ },
2465
+ {
2466
+ name: "moleActive",
2467
+ length: 1
2468
+ },
2469
+ {
2470
+ name: "height",
2471
+ length: 7,
2472
+ max: 127
2473
+ },
2474
+ {
2475
+ name: "hairFlipped",
2476
+ length: 1
2477
+ },
2478
+ {
2479
+ name: "weight",
2480
+ length: 7,
2481
+ max: 127
2482
+ },
2483
+ {
2484
+ name: "isSpecial",
2485
+ length: 1
2486
+ },
2487
+ {
2488
+ name: "hairColor",
2489
+ length: 7,
2490
+ max: 99
2491
+ },
2492
+ {
2493
+ name: "gender",
2494
+ length: 1
2495
+ },
2496
+ {
2497
+ name: "eyeColor",
2498
+ length: 7,
2499
+ max: 99
2500
+ },
2501
+ {
2502
+ name: "eyebrowColor",
2503
+ length: 8,
2504
+ max: 99
2505
+ },
2506
+ {
2507
+ name: "mouthColor",
2508
+ length: 8,
2509
+ max: 99
2510
+ },
2511
+ {
2512
+ name: "beardColor",
2513
+ length: 8,
2514
+ max: 99
2515
+ },
2516
+ {
2517
+ name: "glassesColor",
2518
+ length: 8,
2519
+ max: 99
2520
+ },
2521
+ {
2522
+ name: "unknown",
2523
+ length: 2
2524
+ },
2525
+ {
2526
+ name: "eyeType",
2527
+ length: 6,
2528
+ max: 59
2529
+ },
2530
+ {
2531
+ name: "charset",
2532
+ length: 2,
2533
+ max: 3
2534
+ },
2535
+ {
2536
+ name: "mouthType",
2537
+ length: 6,
2538
+ max: 35
2539
+ },
2540
+ {
2541
+ name: "glassesSize",
2542
+ length: 3,
2543
+ max: 7
2544
+ },
2545
+ {
2546
+ name: "eyeYPosition",
2547
+ length: 5,
2548
+ max: 18
2549
+ },
2550
+ {
2551
+ name: "mustacheType",
2552
+ length: 3,
2553
+ max: 5
2554
+ },
2555
+ {
2556
+ name: "eyebrowType",
2557
+ length: 5,
2558
+ max: 23
2559
+ },
2560
+ {
2561
+ name: "beardType",
2562
+ length: 3,
2563
+ max: 5
2564
+ },
2565
+ {
2566
+ name: "noseType",
2567
+ length: 5,
2568
+ max: 17
2569
+ },
2570
+ {
2571
+ name: "mouthSquash",
2572
+ length: 3,
2573
+ max: 6
2574
+ },
2575
+ {
2576
+ name: "noseYPosition",
2577
+ length: 5,
2578
+ max: 18
2579
+ },
2580
+ {
2581
+ name: "eyebrowSquash",
2582
+ length: 3,
2583
+ max: 6
2584
+ },
2585
+ {
2586
+ name: "mouthYPosition",
2587
+ length: 5,
2588
+ max: 18
2589
+ },
2590
+ {
2591
+ name: "eyeRotation",
2592
+ length: 3,
2593
+ max: 7
2594
+ },
2595
+ {
2596
+ name: "mustacheYPosition",
2597
+ length: 5,
2598
+ max: 16
2599
+ },
2600
+ {
2601
+ name: "eyeSquash",
2602
+ length: 3,
2603
+ max: 6
2604
+ },
2605
+ {
2606
+ name: "glassesYPosition",
2607
+ length: 5,
2608
+ max: 20
2609
+ },
2610
+ {
2611
+ name: "eyeSize",
2612
+ length: 3,
2613
+ max: 7
2614
+ },
2615
+ {
2616
+ name: "moleXPosition",
2617
+ length: 5,
2618
+ max: 16
2619
+ },
2620
+ {
2621
+ name: "moleYPosition",
2622
+ length: 8,
2623
+ max: 30
2624
+ },
2625
+ {
2626
+ name: "glassesType",
2627
+ length: 8,
2628
+ max: 19
2629
+ },
2630
+ {
2631
+ name: "faceType",
2632
+ length: 4,
2633
+ max: 11
2634
+ },
2635
+ {
2636
+ name: "favoriteColor",
2637
+ length: 4,
2638
+ max: 11
2639
+ },
2640
+ {
2641
+ name: "faceFeature",
2642
+ length: 4,
2643
+ max: 11
2644
+ },
2645
+ {
2646
+ name: "faceColor",
2647
+ length: 4,
2648
+ max: 9
2649
+ },
2650
+ {
2651
+ name: "eyeDistanceApart",
2652
+ length: 4,
2653
+ max: 12
2654
+ },
2655
+ {
2656
+ name: "makeup",
2657
+ length: 4,
2658
+ max: 11
2659
+ },
2660
+ {
2661
+ name: "eyebrowRotation",
2662
+ length: 4,
2663
+ max: 11
2664
+ },
2665
+ {
2666
+ name: "eyebrowSize",
2667
+ length: 4,
2668
+ max: 8
2669
+ },
2670
+ {
2671
+ name: "eyebrowYPosition",
2672
+ length: 4,
2673
+ min: 3,
2674
+ max: 18
2675
+ },
2676
+ {
2677
+ name: "eyebrowDistanceApart",
2678
+ length: 4,
2679
+ max: 12
2680
+ },
2681
+ {
2682
+ name: "mouthSize",
2683
+ length: 4,
2684
+ max: 8
2685
+ },
2686
+ {
2687
+ name: "noseSize",
2688
+ length: 4,
2689
+ max: 8
2690
+ },
2691
+ {
2692
+ name: "moleSize",
2693
+ length: 4,
2694
+ max: 8
2695
+ },
2696
+ {
2697
+ name: "mustacheSize",
2698
+ length: 4,
2699
+ max: 8
2700
+ },
2701
+ {
2702
+ name: "name",
2703
+ text: true,
2704
+ length: 160
2705
+ },
2706
+ {
2707
+ name: "miiId",
2708
+ length: 128
2709
+ },
2710
+ {
2711
+ name: "checksum",
2712
+ length: 8
2713
+ },
2714
+ {
2715
+ name: "checksum",
2716
+ length: 8
2717
+ }
2718
+ ]
2719
+ },
2720
+ 'nfcd': {//Switch NAND Format without checksums or miiId (Probably Unofficial Name)
2721
+ length: 400,
2722
+ struct: [
2723
+ {
2724
+ name: "hairType",
2725
+ length: 8,
2726
+ max: 131
2727
+ },
2728
+ {
2729
+ name: "moleActive",
2730
+ length: 1
2731
+ },
2732
+ {
2733
+ name: "height",
2734
+ length: 7,
2735
+ max: 127
2736
+ },
2737
+ {
2738
+ name: "hairFlipped",
2739
+ length: 1
2740
+ },
2741
+ {
2742
+ name: "weight",
2743
+ length: 7,
2744
+ max: 127
2745
+ },
2746
+ {
2747
+ name: "isSpecial",
2748
+ length: 1
2749
+ },
2750
+ {
2751
+ name: "hairColor",
2752
+ length: 7,
2753
+ max: 99
2754
+ },
2755
+ {
2756
+ name: "gender",
2757
+ length: 1
2758
+ },
2759
+ {
2760
+ name: "eyeColor",
2761
+ length: 7,
2762
+ max: 99
2763
+ },
2764
+ {
2765
+ name: "eyebrowColor",
2766
+ length: 8,
2767
+ max: 99
2768
+ },
2769
+ {
2770
+ name: "mouthColor",
2771
+ length: 8,
2772
+ max: 99
2773
+ },
2774
+ {
2775
+ name: "beardColor",
2776
+ length: 8,
2777
+ max: 99
2778
+ },
2779
+ {
2780
+ name: "glassesColor",
2781
+ length: 8,
2782
+ max: 99
2783
+ },
2784
+ {
2785
+ name: "unknown",
2786
+ length: 2
2787
+ },
2788
+ {
2789
+ name: "eyeType",
2790
+ length: 6,
2791
+ max: 59
2792
+ },
2793
+ {
2794
+ name: "charSet",
2795
+ length: 2,
2796
+ max: 3
2797
+ },
2798
+ {
2799
+ name: "mouthType",
2800
+ length: 6,
2801
+ max: 35
2802
+ },
2803
+ {
2804
+ name: "glassesSize",
2805
+ length: 3,
2806
+ max: 7
2807
+ },
2808
+ {
2809
+ name: "eyeYPosition",
2810
+ length: 5,
2811
+ max: 18
2812
+ },
2813
+ {
2814
+ name: "mustacheType",
2815
+ length: 3,
2816
+ max: 5
2817
+ },
2818
+ {
2819
+ name: "eyebrowType",
2820
+ length: 5,
2821
+ max: 23
2822
+ },
2823
+ {
2824
+ name: "beardType",
2825
+ length: 3,
2826
+ max: 5
2827
+ },
2828
+ {
2829
+ name: "noseType",
2830
+ length: 5,
2831
+ max: 17
2832
+ },
2833
+ {
2834
+ name: "mouthSquash",
2835
+ length: 3,
2836
+ max: 6
2837
+ },
2838
+ {
2839
+ name: "noseYPosition",
2840
+ length: 5,
2841
+ max: 18
2842
+ },
2843
+ {
2844
+ name: "eyebrowSquash",
2845
+ length: 3,
2846
+ max: 6
2847
+ },
2848
+ {
2849
+ name: "mouthYPosition",
2850
+ length: 5,
2851
+ max: 18
2852
+ },
2853
+ {
2854
+ name: "eyeRotation",
2855
+ length: 3,
2856
+ max: 7
2857
+ },
2858
+ {
2859
+ name: "mustacheYPosition",
2860
+ length: 5,
2861
+ max: 16
2862
+ },
2863
+ {
2864
+ name: "eyeSquash",
2865
+ length: 3,
2866
+ max: 6
2867
+ },
2868
+ {
2869
+ name: "glassesYPosition",
2870
+ length: 5,
2871
+ max: 20
2872
+ },
2873
+ {
2874
+ name: "eyeSize",
2875
+ length: 3,
2876
+ max: 7
2877
+ },
2878
+ {
2879
+ name: "moleXPosition",
2880
+ length: 5,
2881
+ max: 16
2882
+ },
2883
+ {
2884
+ name: "moleYPosition",
2885
+ length: 8,
2886
+ max: 30
2887
+ },
2888
+ {
2889
+ name: "glassesType",
2890
+ length: 8,
2891
+ max: 19
2892
+ },
2893
+ {
2894
+ name: "faceType",
2895
+ length: 4,
2896
+ max: 11
2897
+ },
2898
+ {
2899
+ name: "favoriteColor",
2900
+ length: 4,
2901
+ max: 11
2902
+ },
2903
+ {
2904
+ name: "faceFeature",
2905
+ length: 4,
2906
+ max: 11
2907
+ },
2908
+ {
2909
+ name: "faceColor",
2910
+ length: 4,
2911
+ max: 9
2912
+ },
2913
+ {
2914
+ name: "eyeDistanceApart",
2915
+ length: 4,
2916
+ max: 12
2917
+ },
2918
+ {
2919
+ name: "makeup",
2920
+ length: 4,
2921
+ max: 11
2922
+ },
2923
+ {
2924
+ name: "eyebrowRotation",
2925
+ length: 4,
2926
+ max: 11
2927
+ },
2928
+ {
2929
+ name: "eyebrowSize",
2930
+ length: 4,
2931
+ max: 8
2932
+ },
2933
+ {
2934
+ name: "eyebrowYPosition",
2935
+ length: 4,
2936
+ min: 3,
2937
+ max: 18
2938
+ },
2939
+ {
2940
+ name: "eyebrowDistanceApart",
2941
+ length: 4,
2942
+ max: 12
2943
+ },
2944
+ {
2945
+ name: "mouthSize",
2946
+ length: 4,
2947
+ max: 8
2948
+ },
2949
+ {
2950
+ name: "noseSize",
2951
+ length: 4,
2952
+ max: 8
2953
+ },
2954
+ {
2955
+ name: "moleSize",
2956
+ length: 4,
2957
+ max: 8
2958
+ },
2959
+ {
2960
+ name: "mustacheSize",
2961
+ length: 4,
2962
+ max: 8
2963
+ },
2964
+ {
2965
+ name: "name",
2966
+ text: true,
2967
+ length: 160
2968
+ }
2969
+ ]
2970
+ },
2971
+ 'charinfo': {//Switch format
2972
+ aliases: ['ufsd', 'mii'],
2973
+ length: 0x58,
2974
+ struct: [
2975
+ {
2976
+ name: "miiId",
2977
+ length: 128
2978
+ },
2979
+ {
2980
+ name: "name",
2981
+ text: true,
2982
+ length: 176
2983
+ },
2984
+ {
2985
+ name: "charset",
2986
+ length: 8,
2987
+ max: 3
2988
+ },
2989
+ {
2990
+ name: "favoriteColor",
2991
+ length: 8,
2992
+ max: 11
2993
+ },
2994
+ {
2995
+ name: "gender",
2996
+ length: 8,
2997
+ max: 1
2998
+ },
2999
+ {
3000
+ name: "height",
3001
+ length: 8,
3002
+ max: 127
3003
+ },
3004
+ {
3005
+ name: "weight",
3006
+ length: 8,
3007
+ max: 127
3008
+ },
3009
+ {
3010
+ name: "isSpecial",
3011
+ length: 8,
3012
+ max: 1
3013
+ },
3014
+ {
3015
+ name: "unknown",
3016
+ length: 8
3017
+ },
3018
+ {
3019
+ name: "faceType",
3020
+ length: 8,
3021
+ max: 11
3022
+ },
3023
+ {
3024
+ name: "faceColor",
3025
+ length: 8,
3026
+ max: 9
3027
+ },
3028
+ {
3029
+ name: "faceFeature",
3030
+ length: 8,
3031
+ max: 11
3032
+ },
3033
+ {
3034
+ name: "makeup",
3035
+ length: 8,
3036
+ max: 11
3037
+ },
3038
+ {
3039
+ name: "hairType",
3040
+ length: 8,
3041
+ max: 131
3042
+ },
3043
+ {
3044
+ name: "hairColor",
3045
+ length: 8,
3046
+ max: 99
3047
+ },
3048
+ {
3049
+ name: "hairFlipped",
3050
+ length: 8,
3051
+ max: 1
3052
+ },
3053
+ {
3054
+ name: "eyeType",
3055
+ length: 8,
3056
+ max: 59
3057
+ },
3058
+ {
3059
+ name: "eyeColor",
3060
+ length: 8,
3061
+ max: 99
3062
+ },
3063
+ {
3064
+ name: "eyeSize",
3065
+ length: 8,
3066
+ max: 7
3067
+ },
3068
+ {
3069
+ name: "eyeSquash",
3070
+ length: 8,
3071
+ max: 6
3072
+ },
3073
+ {
3074
+ name: "eyeRotation",
3075
+ length: 8,
3076
+ max: 7
3077
+ },
3078
+ {
3079
+ name: "eyeDistanceApart",
3080
+ length: 8,
3081
+ max: 12
3082
+ },
3083
+ {
3084
+ name: "eyeYPosition",
3085
+ length: 8,
3086
+ max: 18
3087
+ },
3088
+ {
3089
+ name: "eyebrowType",
3090
+ length: 8,
3091
+ max: 23
3092
+ },
3093
+ {
3094
+ name: "eyebrowColor",
3095
+ length: 8,
3096
+ max: 99
3097
+ },
3098
+ {
3099
+ name: "eyebrowSize",
3100
+ length: 8,
3101
+ max: 8
3102
+ },
3103
+ {
3104
+ name: "eyebrowSquash",
3105
+ length: 8,
3106
+ max: 6
3107
+ },
3108
+ {
3109
+ name: "eyebrowRotation",
3110
+ length: 8,
3111
+ max: 11
3112
+ },
3113
+ {
3114
+ name: "eyebrowDistanceApart",
3115
+ length: 8,
3116
+ max: 12
3117
+ },
3118
+ {
3119
+ name: "eyebrowYPosition",
3120
+ length: 8,
3121
+ min: 3,
3122
+ max: 18
3123
+ },
3124
+ {
3125
+ name: "noseType",
3126
+ length: 8,
3127
+ max: 17
3128
+ },
3129
+ {
3130
+ name: "noseSize",
3131
+ length: 8,
3132
+ max: 8
3133
+ },
3134
+ {
3135
+ name: "noseYPosition",
3136
+ length: 8,
3137
+ max: 18
3138
+ },
3139
+ {
3140
+ name: "mouthType",
3141
+ length: 8,
3142
+ max: 35
3143
+ },
3144
+ {
3145
+ name: "mouthColor",
3146
+ length: 8,
3147
+ max: 99
3148
+ },
3149
+ {
3150
+ name: "mouthSize",
3151
+ length: 8,
3152
+ max: 8
3153
+ },
3154
+ {
3155
+ name: "mouthSquash",
3156
+ length: 8,
3157
+ max: 6
3158
+ },
3159
+ {
3160
+ name: "mouthYPosition",
3161
+ length: 8,
3162
+ max: 18
3163
+ },
3164
+ {
3165
+ name: "beardColor",
3166
+ length: 8,
3167
+ max: 99
3168
+ },
3169
+ {
3170
+ name: "beardType",
3171
+ length: 8,
3172
+ max: 5
3173
+ },
3174
+ {
3175
+ name: "mustacheType",
3176
+ length: 8,
3177
+ max: 5
3178
+ },
3179
+ {
3180
+ name: "mustacheSize",
3181
+ length: 8,
3182
+ max: 8
3183
+ },
3184
+ {
3185
+ name: "mustacheYPosition",
3186
+ length: 8,
3187
+ max: 16
3188
+ },
3189
+ {
3190
+ name: "glassesType",
3191
+ length: 8,
3192
+ max: 19
3193
+ },
3194
+ {
3195
+ name: "glassesColor",
3196
+ length: 8,
3197
+ max: 99
3198
+ },
3199
+ {
3200
+ name: "glassesSize",
3201
+ length: 8,
3202
+ max: 7
3203
+ },
3204
+ {
3205
+ name: "glassesYPosition",
3206
+ length: 8,
3207
+ max: 20
3208
+ },
3209
+ {
3210
+ name: "moleActive",
3211
+ length: 8,
3212
+ max: 1
3213
+ },
3214
+ {
3215
+ name: "moleSize",
3216
+ length: 8,
3217
+ max: 8
3218
+ },
3219
+ {
3220
+ name: "moleXPosition",
3221
+ length: 8,
3222
+ max: 16
3223
+ },
3224
+ {
3225
+ name: "moleYPosition",
3226
+ length: 8,
3227
+ max: 30
3228
+ },
3229
+ {
3230
+ name: "unknown",
3231
+ length: 8,
3232
+ max: 0
3233
+ }
3234
+ ]
3235
+ },
3236
+
3237
+ 'mnms': {//Nintendo Studio localstorage object (Unofficial Name)
3238
+ length: 0x2e,
3239
+ struct: [
3240
+ {
3241
+ name: "beardColor",
3242
+ length: 8,
3243
+ max: 99
3244
+ },
3245
+ {
3246
+ name: "beardType",
3247
+ length: 8,
3248
+ max: 5
3249
+ },
3250
+ {
3251
+ name: "weight",
3252
+ length: 8,
3253
+ max: 127
3254
+ },
3255
+ {
3256
+ name: "eyeSquash",
3257
+ length: 8,
3258
+ max: 6
3259
+ },
3260
+ {
3261
+ name: "eyeColor",
3262
+ length: 8,
3263
+ max: 99
3264
+ },
3265
+ {
3266
+ name: "eyeRotation",
3267
+ length: 8,
3268
+ max: 7
3269
+ },
3270
+ {
3271
+ name: "eyeSize",
3272
+ length: 8,
3273
+ max: 7
3274
+ },
3275
+ {
3276
+ name: "eyeType",
3277
+ length: 8,
3278
+ max: 59
3279
+ },
3280
+ {
3281
+ name: "eyeDistanceApart",
3282
+ length: 8,
3283
+ max: 12
3284
+ },
3285
+ {
3286
+ name: "eyeYPosition",
3287
+ length: 8,
3288
+ max: 18
3289
+ },
3290
+ {
3291
+ name: "eyebrowSquash",
3292
+ length: 8,
3293
+ max: 6
3294
+ },
3295
+ {
3296
+ name: "eyebrowColor",
3297
+ length: 8,
3298
+ max: 99
3299
+ },
3300
+ {
3301
+ name: "eyebrowRotation",
3302
+ length: 8,
3303
+ max: 11
3304
+ },
3305
+ {
3306
+ name: "eyebrowSize",
3307
+ length: 8,
3308
+ max: 8
3309
+ },
3310
+ {
3311
+ name: "eyebrowType",
3312
+ length: 8,
3313
+ max: 23
3314
+ },
3315
+ {
3316
+ name: "eyebrowDistanceApart",
3317
+ length: 8,
3318
+ max: 12
3319
+ },
3320
+ {
3321
+ name: "eyebrowYPosition",
3322
+ length: 8,
3323
+ min: 3,
3324
+ max: 18
3325
+ },
3326
+ {
3327
+ name: "faceColor",
3328
+ length: 8,
3329
+ max: 9
3330
+ },
3331
+ {
3332
+ name: "makeup",
3333
+ length: 8,
3334
+ max: 11
3335
+ },
3336
+ {
3337
+ name: "faceType",
3338
+ length: 8,
3339
+ max: 11
3340
+ },
3341
+ {
3342
+ name: "faceFeature",
3343
+ length: 8,
3344
+ max: 11
3345
+ },
3346
+ {
3347
+ name: "favoriteColor",
3348
+ length: 8,
3349
+ max: 11
3350
+ },
3351
+ {
3352
+ name: "gender",
3353
+ length: 8,
3354
+ max: 1
3355
+ },
3356
+ {
3357
+ name: "glassesColor",
3358
+ length: 8,
3359
+ max: 99
3360
+ },
3361
+ {
3362
+ name: "glassesSize",
3363
+ length: 8,
3364
+ max: 7
3365
+ },
3366
+ {
3367
+ name: "glassesType",
3368
+ length: 8,
3369
+ max: 19
3370
+ },
3371
+ {
3372
+ name: "glassesYPosition",
3373
+ length: 8,
3374
+ max: 20
3375
+ },
3376
+ {
3377
+ name: "hairColor",
3378
+ length: 8,
3379
+ max: 99
3380
+ },
3381
+ {
3382
+ name: "hairFlipped",
3383
+ length: 8,
3384
+ max: 1
3385
+ },
3386
+ {
3387
+ name: "hairType",
3388
+ length: 8,
3389
+ max: 131
3390
+ },
3391
+ {
3392
+ name: "height",
3393
+ length: 8,
3394
+ max: 127
3395
+ },
3396
+ {
3397
+ name: "moleSize",
3398
+ length: 8,
3399
+ max: 8
3400
+ },
3401
+ {
3402
+ name: "moleActive",
3403
+ length: 8,
3404
+ max: 1
3405
+ },
3406
+ {
3407
+ name: "moleXPosition",
3408
+ length: 8,
3409
+ max: 16
3410
+ },
3411
+ {
3412
+ name: "moleYPosition",
3413
+ length: 8,
3414
+ max: 30
3415
+ },
3416
+ {
3417
+ name: "mouthSquash",
3418
+ length: 8,
3419
+ max: 6
3420
+ },
3421
+ {
3422
+ name: "mouthColor",
3423
+ length: 8,
3424
+ max: 99
3425
+ },
3426
+ {
3427
+ name: "mouthSize",
3428
+ length: 8,
3429
+ max: 8
3430
+ },
3431
+ {
3432
+ name: "mouthType",
3433
+ length: 8,
3434
+ max: 35
3435
+ },
3436
+ {
3437
+ name: "mouthYPosition",
3438
+ length: 8,
3439
+ max: 18
3440
+ },
3441
+ {
3442
+ name: "mustacheSize",
3443
+ length: 8,
3444
+ max: 8
3445
+ },
3446
+ {
3447
+ name: "mustacheType",
3448
+ length: 8,
3449
+ max: 5
3450
+ },
3451
+ {
3452
+ name: "mustacheYPosition",
3453
+ length: 8,
3454
+ max: 16
3455
+ },
3456
+ {
3457
+ name: "noseSize",
3458
+ length: 8,
3459
+ max: 8
3460
+ },
3461
+ {
3462
+ name: "noseType",
3463
+ length: 8,
3464
+ max: 17
3465
+ },
3466
+ {
3467
+ name: "noseYPosition",
3468
+ length: 8,
3469
+ max: 18
3470
+ }
3471
+ ]
3472
+ },
3473
+
3474
+ 'amiibo': {//Self explanatory (Unofficial Name)
3475
+ length: 4320
3476
+ },
3477
+ 'amiibotrimmed': {//Sometimes Amiibo files get the last part cut off to be 532 bytes, they should be 540 but 532 byte files will be thrown around (Unofficial Name)
3478
+ length: 4256
3479
+ }
3480
+ };