Skip to content

Commit

Permalink
Support for SC1, see #69.
Browse files Browse the repository at this point in the history
  • Loading branch information
EliotVU committed Nov 17, 2023
1 parent b67fa0d commit bce38c4
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 3 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,9 @@ This is a table of games that are confirmed to be compatible with the current st
| Deus Ex: Invisible War | Thief | 95/069 | LinkedData not supported |
| | | | |
| | | | |
| XIII | Unknown | 100/058 | |
| Tom Clancy's Rainbow Six 3: Raven Shield | 600-? | 118/012:014 | |
| XIII | 829 | 100/058 | |
| Tom Clancy's Splinter Cell | 829 | 100/017 | |
| Tom Clancy's Rainbow Six 3: Raven Shield | 927 | 118/012:014 | |
| Unreal Tournament 2003 | 1077-2225 | 119/025 | |
| Devastation | 600-? | 118-120/004-008 | |
| Unreal II: The Awakening | 829-2001 | 126/2609 | |
Expand Down
16 changes: 16 additions & 0 deletions src/Core/Classes/Props/UProperty.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,22 @@ public UProperty()
protected override void Deserialize()
{
base.Deserialize();
#if SPLINTERCELL
if (Package.Build == UnrealPackage.GameBuild.BuildName.SC1 &&
_Buffer.LicenseeVersion >= 15)
{
ArrayDim = _Buffer.ReadUInt16();
Record(nameof(ArrayDim), ArrayDim);

PropertyFlags = _Buffer.ReadUInt32();
Record(nameof(PropertyFlags), PropertyFlags);

_Buffer.Read(out CategoryName);
Record(nameof(CategoryName), CategoryName);

return;
}
#endif
#if AA2
if (Package.Build == BuildGeneration.AGP &&
_Buffer.LicenseeVersion >= 8)
Expand Down
2 changes: 1 addition & 1 deletion src/Eliot.UELib.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;DECOMPILE BINARYMETADATA Forms UE1 UE2 UE3 UE4 VENGEANCE SWAT4 UNREAL2 INFINITYBLADE BORDERLANDS2 GOW2 DEBUG_TEST APB SPECIALFORCE2 XIII SINGULARITY THIEF_DS DEUSEX_IW BORDERLANDS MIRRORSEDGE BIOSHOCK HAWKEN UT DISHONORED REMEMBERME ALPHAPROTOCOL VANGUARD TERA MKKE TRANSFORMERS XCOM2 DD2 DCUO AA2 SPELLBORN BATMAN MOH ROCKETLEAGUE DNF LSGAME UNDYING HP DEVASTATION</DefineConstants>
<DefineConstants>TRACE;DEBUG;DECOMPILE BINARYMETADATA Forms UE1 UE2 UE3 UE4 VENGEANCE SWAT4 UNREAL2 INFINITYBLADE BORDERLANDS2 GOW2 DEBUG_TEST APB SPECIALFORCE2 XIII SINGULARITY THIEF_DS DEUSEX_IW BORDERLANDS MIRRORSEDGE BIOSHOCK HAWKEN UT DISHONORED REMEMBERME ALPHAPROTOCOL VANGUARD TERA MKKE TRANSFORMERS XCOM2 DD2 DCUO AA2 SPELLBORN BATMAN MOH ROCKETLEAGUE DNF LSGAME UNDYING HP DEVASTATION SPLINTERCELL</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>0</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
Expand Down
13 changes: 13 additions & 0 deletions src/UnrealPackage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,8 @@ public enum BuildName
/// </summary>
[Build(99, 117, 5u, 8u)] UT2003,

[Build(100, 17)] SC1,

/// <summary>
/// 100/058
/// </summary>
Expand Down Expand Up @@ -1049,6 +1051,17 @@ public void Deserialize(IUnrealStream stream)
Console.WriteLine("Unknown:" + unknown);
}
#endif
#if SPLINTERCELL
if (stream.Package.Build == GameBuild.BuildName.SC1 &&
stream.LicenseeVersion >= 12)
{
// compiled-constant: 0xff0adde
stream.Read(out int uStack_10c);

// An FString converted to an FArray? Concatenating appUserName, appComputerName, appBaseDir, and appTimestamp.
stream.ReadArray(out UArray<byte> iStack_fc);
}
#endif
#if BORDERLANDS
if (stream.Package.Build == GameBuild.BuildName.Borderlands) stream.Skip(4);
#endif
Expand Down

0 comments on commit bce38c4

Please sign in to comment.