• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MeltyPlayer / MeltyTool / 23081282649

14 Mar 2026 05:21AM UTC coverage: 41.505% (-0.05%) from 41.558%
23081282649

push

github

MeltyPlayer
Set up janky loader for The Labyrinth: Plus Edition.

7012 of 18962 branches covered (36.98%)

Branch coverage included in aggregate %.

1 of 94 new or added lines in 9 files covered. (1.06%)

29943 of 70075 relevant lines covered (42.73%)

62302.35 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/FinModelUtility/Games/TheLabyrinthPlusEdition/TheLabyrinthPlusEdition/src/api/ScbModelImporter.cs
1
using System.Numerics;
2

3
using fin.io;
4
using fin.model;
5
using fin.model.impl;
6
using fin.model.io;
7
using fin.model.io.importers;
8
using fin.util.sets;
9

10
using tlpe.scb;
11

12
namespace tlpe.api;
13

NEW
14
public sealed record ScbModelFileBundle(IReadOnlyTreeFile ScbFile)
×
15
    : IModelFileBundle {
NEW
16
  public IReadOnlyTreeFile MainFile => this.ScbFile;
×
17
}
18

19
public sealed class ScbModelImporter : IModelImporter<ScbModelFileBundle> {
NEW
20
  public IModel Import(ScbModelFileBundle fileBundle) {
×
NEW
21
    var scb = fileBundle.ScbFile.ReadNew<Scb>();
×
22

NEW
23
    var files = fileBundle.ScbFile.AsFileSet();
×
NEW
24
    var finModel = new ModelImpl {
×
NEW
25
        FileBundle = fileBundle,
×
NEW
26
        Files = files
×
NEW
27
    };
×
28

NEW
29
    var finSkin = finModel.Skin;
×
30

NEW
31
    foreach (var scbSection in scb.Sections) {
×
NEW
32
      switch (scbSection) {
×
NEW
33
        case MeshSection meshSection: {
×
NEW
34
          var finMesh = finSkin.AddMesh();
×
35

NEW
36
          var finVertices
×
NEW
37
              = meshSection
×
NEW
38
                .Vertices.Select(v => {
×
NEW
39
                  var finVertex = finSkin.AddVertex(v.Position);
×
NEW
40
                  finVertex.SetLocalNormal(v.Normal);
×
NEW
41
                  finVertex.SetUv(0, v.Uv0);
×
NEW
42
                  finVertex.SetUv(1, v.Uv1);
×
NEW
43
                  return finVertex;
×
NEW
44
                })
×
NEW
45
                .ToArray();
×
46

NEW
47
          var triangles
×
NEW
48
              = meshSection
×
NEW
49
                .Faces.Select(f => {
×
NEW
50
                  var v0 = (IReadOnlyVertex) finVertices[f.Vertex0];
×
NEW
51
                  var v1 = (IReadOnlyVertex) finVertices[f.Vertex1];
×
NEW
52
                  var v2 = (IReadOnlyVertex) finVertices[f.Vertex2];
×
NEW
53

×
NEW
54
                  return (v0, v1, v2);
×
NEW
55
                })
×
NEW
56
                .ToArray();
×
57

NEW
58
          finMesh.AddTriangles(triangles);
×
59

NEW
60
          break;
×
61
        }
62
      }
NEW
63
    }
×
64

NEW
65
    return finModel;
×
NEW
66
  }
×
67
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc