Skip to content

Commit c357231

Browse files
feat: stub MCsL VList parsing
1 parent f331fc3 commit c357231

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

Shockky/Resources/IResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ public static IResource Read(scoped ref ShockwaveReader input, ReaderContext con
3535
OsType.Lscr => new LingoScriptResource(ref bodyInput),
3636
OsType.Lctx or OsType.LctX => new LingoContextResource(ref bodyInput, context),
3737

38+
OsType.MCsL => new MovieCastListResource(ref bodyInput, context),
39+
3840
OsType.CASPtr => new CastMapResource(ref bodyInput, context),
3941
OsType.CASt => new CastMemberPropertiesResource(ref bodyInput, context),
4042

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
using Shockky.IO;
2+
3+
namespace Shockky.Resources;
4+
5+
/// <summary>
6+
/// The list of cast libraries used by a movie.
7+
/// </summary>
8+
[ShockwaveItem(BigEndian = true)]
9+
public sealed partial class MovieCastListResource : IResource, IShockwaveItem
10+
{
11+
public OsType Kind => OsType.MCsL;
12+
13+
[Header]
14+
public sealed partial class HeaderData
15+
{
16+
public short Field4 { get; set; }
17+
public short Count { get; set; }
18+
public short EntriesPerCast { get; set; }
19+
public short FieldA { get; set; }
20+
}
21+
22+
public HeaderData Header { get; set; } = null!;
23+
24+
[OffsetTable]
25+
private OffsetTable Offsets { get; set; }
26+
27+
public int GetBodySize(WriterOptions options)
28+
{
29+
throw new NotImplementedException();
30+
}
31+
32+
public void WriteTo(ShockwaveWriter output, WriterOptions options)
33+
{
34+
throw new NotImplementedException();
35+
}
36+
}

0 commit comments

Comments
 (0)