mirror of
https://github.com/AssetRipper/AssetRipper.Conversions.UnityCrunch.git
synced 2026-11-13 18:06:30 -10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee81b0cff8 | ||
|
|
293571cd58 | ||
|
|
c6a5667654 | ||
|
|
e8309e17ce | ||
|
|
0c71bfbced | ||
|
|
84a355b02f | ||
|
|
60c57584f7 | ||
|
|
17efaf6262 | ||
|
|
eb7618f780 | ||
|
|
9114a85bf9 | ||
|
|
05057384a5 | ||
|
|
39735d50ae |
No files matched your search
@@ -3,3 +3,5 @@
|
||||
bin/
|
||||
obj/
|
||||
source.ll
|
||||
launchSettings.json
|
||||
*.user
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\AssetRipper.Conversions.UnityCrunch\AssetRipper.Conversions.UnityCrunch.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,19 @@
|
||||
namespace AssetRipper.Conversions.UnityCrunch.ConsoleApp;
|
||||
|
||||
internal static class Program
|
||||
{
|
||||
private static void Main(string[] args)
|
||||
{
|
||||
byte[] data = File.ReadAllBytes(args[0]);
|
||||
string outputPath = args.Length > 1 ? args[1] : args[0] + ".dxt";
|
||||
if (UnityCrunch.TryDecompress(data, out byte[]? output))
|
||||
{
|
||||
File.WriteAllBytes(outputPath, output);
|
||||
Console.WriteLine($"Decompressed to {outputPath}");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Decompression failed");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 18
|
||||
VisualStudioVersion = 18.0.11012.119 d18.0
|
||||
VisualStudioVersion = 18.0.11012.119
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AssetRipper.Conversions.UnityCrunch", "AssetRipper.Conversions.UnityCrunch\AssetRipper.Conversions.UnityCrunch.csproj", "{48DE0AAE-5E53-F6EF-0EDD-88BB51F56DCB}"
|
||||
EndProject
|
||||
@@ -15,6 +15,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
||||
source.cpp = source.cpp
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AssetRipper.Conversions.UnityCrunch.ConsoleApp", "AssetRipper.Conversions.UnityCrunch.ConsoleApp\AssetRipper.Conversions.UnityCrunch.ConsoleApp.csproj", "{469E74A1-200A-4F10-B9FB-121E9319FE70}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -25,6 +27,10 @@ Global
|
||||
{48DE0AAE-5E53-F6EF-0EDD-88BB51F56DCB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{48DE0AAE-5E53-F6EF-0EDD-88BB51F56DCB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{48DE0AAE-5E53-F6EF-0EDD-88BB51F56DCB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{469E74A1-200A-4F10-B9FB-121E9319FE70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{469E74A1-200A-4F10-B9FB-121E9319FE70}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{469E74A1-200A-4F10-B9FB-121E9319FE70}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{469E74A1-200A-4F10-B9FB-121E9319FE70}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
+2
-1
@@ -7,8 +7,9 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: bool __cdecl crnd::vector<unsigned char>::get_alloc_failed(void) const")]
|
||||
internal static partial class Get_alloc_failed
|
||||
{
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke(void* @this)
|
||||
{
|
||||
return (unchecked((crnd_vector*)@this)->field_3 & 1) == 1;
|
||||
return (unchecked((crnd_vector_f3cmzmc*)@this)->field_3 & 1) == 1;
|
||||
}
|
||||
}
|
||||
+10
-21
@@ -8,38 +8,27 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: unsigned int __cdecl crnd::dxt3_block::get_alpha(unsigned int, unsigned int, bool) const")]
|
||||
internal static partial class Get_alpha
|
||||
{
|
||||
public unsafe static int Invoke(void* @this, int x, int y, bool scaled)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this, [NativeType("unsigned int")] int x, [NativeType("unsigned int")] int y, [NativeType("bool")] bool scaled)
|
||||
{
|
||||
sbyte b = 0;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
b = (scaled ? ((sbyte)1) : ((sbyte)0));
|
||||
num = y;
|
||||
num2 = x;
|
||||
sbyte b = (scaled ? ((sbyte)1) : ((sbyte)0));
|
||||
unchecked
|
||||
{
|
||||
int num4;
|
||||
if ((uint)num2 < 4u && (uint)num < 4u)
|
||||
{
|
||||
num4 = -1;
|
||||
}
|
||||
else
|
||||
if ((uint)x >= 4u || (uint)y >= 4u)
|
||||
{
|
||||
crnd_assert.Invoke(String_cahur4b.__pointer, String_yguirrd.__pointer, 2850);
|
||||
num4 = 0;
|
||||
}
|
||||
num3 = (byte)((sbyte*)(&((crnd_dxt3_block*)@this)->field_0))[(uint)((num << 1) + (num2 >>> 1))];
|
||||
if ((num2 & 1) != 0)
|
||||
int num = (byte)((sbyte*)(&((crnd_dxt3_block*)@this)->field_0))[(uint)((y << 1) + (x >>> 1))];
|
||||
if ((x & 1) != 0)
|
||||
{
|
||||
num3 >>>= 4;
|
||||
num >>>= 4;
|
||||
}
|
||||
num3 &= 0xF;
|
||||
num &= 0xF;
|
||||
if ((b & 1) == 1)
|
||||
{
|
||||
num3 = (num3 << 4) | num3;
|
||||
num = (num << 4) | num;
|
||||
}
|
||||
return num3;
|
||||
return num;
|
||||
}
|
||||
}
|
||||
}
|
||||
+14
-29
@@ -8,56 +8,41 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("private: unsigned int __cdecl crnd::symbol_codec::get_bits(unsigned int)")]
|
||||
internal static partial class Get_bits
|
||||
{
|
||||
public unsafe static int Invoke(void* @this, int num_bits)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this, [NativeType("unsigned int")] int num_bits)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
num = num_bits;
|
||||
unchecked
|
||||
{
|
||||
int num4;
|
||||
if ((uint)num <= 32u)
|
||||
{
|
||||
num4 = -1;
|
||||
}
|
||||
else
|
||||
if ((uint)num_bits > 32u)
|
||||
{
|
||||
crnd_assert.Invoke(String_bhrpdhd.__pointer, String_yguirrd.__pointer, 2642);
|
||||
num4 = 0;
|
||||
}
|
||||
while (((crnd_symbol_codec*)@this)->field_5 < num)
|
||||
while (((crnd_symbol_codec*)@this)->field_5 < num_bits)
|
||||
{
|
||||
num2 = 0;
|
||||
int num = 0;
|
||||
if (((crnd_symbol_codec*)@this)->field_1 != ((crnd_symbol_codec*)@this)->field_2)
|
||||
{
|
||||
void** field_ = &((crnd_symbol_codec*)@this)->field_1;
|
||||
void* ptr = *field_;
|
||||
*field_ = (byte*)ptr + 1;
|
||||
num2 = (byte)(*(sbyte*)ptr);
|
||||
num = (byte)(*(sbyte*)ptr);
|
||||
}
|
||||
int num6;
|
||||
int num2;
|
||||
checked
|
||||
{
|
||||
unchecked((crnd_symbol_codec*)@this)->field_5 += 8;
|
||||
int num5;
|
||||
if (unchecked((crnd_symbol_codec*)@this)->field_5 <= 32)
|
||||
{
|
||||
num5 = -1;
|
||||
}
|
||||
else
|
||||
if (unchecked((crnd_symbol_codec*)@this)->field_5 > 32)
|
||||
{
|
||||
crnd_assert.Invoke(String_kf9n5db.__pointer, String_yguirrd.__pointer, 2650);
|
||||
num5 = 0;
|
||||
}
|
||||
num6 = num2 << 32 - unchecked((crnd_symbol_codec*)@this)->field_5;
|
||||
num2 = num << 32 - unchecked((crnd_symbol_codec*)@this)->field_5;
|
||||
}
|
||||
((crnd_symbol_codec*)@this)->field_4 |= num6;
|
||||
((crnd_symbol_codec*)@this)->field_4 |= num2;
|
||||
}
|
||||
num3 = ((crnd_symbol_codec*)@this)->field_4 >>> 32 - num;
|
||||
((crnd_symbol_codec*)@this)->field_4 <<= num;
|
||||
((crnd_symbol_codec*)@this)->field_5 -= num;
|
||||
return num3;
|
||||
int result = ((crnd_symbol_codec*)@this)->field_4 >>> 32 - num_bits;
|
||||
((crnd_symbol_codec*)@this)->field_4 <<= num_bits;
|
||||
((crnd_symbol_codec*)@this)->field_5 -= num_bits;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -7,6 +7,7 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("private: void __cdecl crnd::symbol_codec::get_bits_init(void)")]
|
||||
internal static partial class Get_bits_init
|
||||
{
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke(void* @this)
|
||||
{
|
||||
unchecked
|
||||
|
||||
+7
-11
@@ -6,19 +6,15 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: static unsigned int __cdecl crnd::dxt1_block::get_block_colors(class crnd::color_quad<unsigned char, int> *, unsigned short, unsigned short)")]
|
||||
internal static partial class Get_block_colors
|
||||
{
|
||||
public unsafe static int Invoke(void* pDst, short color0, short color1)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("class crnd::color_quad<unsigned char, int> *")] void* pDst, [NativeType("unsigned short")] short color0, [NativeType("unsigned short")] short color1)
|
||||
{
|
||||
int num = 0;
|
||||
short num2 = 0;
|
||||
short num3 = 0;
|
||||
void* ptr = null;
|
||||
num2 = color1;
|
||||
num3 = color0;
|
||||
ptr = pDst;
|
||||
if (unchecked((ushort)num3 > (ushort)num2))
|
||||
short num = color1;
|
||||
short num2 = color0;
|
||||
if (unchecked((ushort)num2 > (ushort)num))
|
||||
{
|
||||
return Get_block_colors4.Invoke(ptr, num3, num2);
|
||||
return Get_block_colors4.Invoke(pDst, num2, num);
|
||||
}
|
||||
return Get_block_colors3.Invoke(ptr, num3, num2);
|
||||
return Get_block_colors3.Invoke(pDst, num2, num);
|
||||
}
|
||||
}
|
||||
+4
-3
@@ -7,14 +7,15 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: static unsigned int __cdecl crnd::dxt1_block::get_block_colors3(class crnd::color_quad<unsigned char, int> *, unsigned short, unsigned short)")]
|
||||
internal static partial class Get_block_colors3
|
||||
{
|
||||
public unsafe static int Invoke(void* pDst, short color0, short color1)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("class crnd::color_quad<unsigned char, int> *")] void* pDst, [NativeType("unsigned short")] short color0, [NativeType("unsigned short")] short color1)
|
||||
{
|
||||
crnd_color_quad crnd_color_quad = default(crnd_color_quad);
|
||||
crnd_color_quad crnd_color_quad2 = default(crnd_color_quad);
|
||||
unpack_color_ifs9dpd.Invoke(&crnd_color_quad, color0, scaled: true, 255);
|
||||
unpack_color_ifs9dpd.Invoke(&crnd_color_quad2, color1, scaled: true, 255);
|
||||
_4_color_quad.Invoke(pDst, &crnd_color_quad);
|
||||
_4_color_quad.Invoke(unchecked((byte*)pDst) + sizeof(crnd_color_quad), &crnd_color_quad2);
|
||||
color_quad_unsigned_char_int_Assignment.Invoke(pDst, &crnd_color_quad);
|
||||
color_quad_unsigned_char_int_Assignment.Invoke(unchecked((byte*)pDst) + sizeof(crnd_color_quad), &crnd_color_quad2);
|
||||
set.Invoke(unchecked((byte*)pDst + (nint)2 * sizeof(crnd_color_quad)), blue: unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad.field_0))->field_2) + unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad2.field_0))->field_2) >> 1, green: unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad.field_0))->field_1) + unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad2.field_0))->field_1) >> 1, red: unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad.field_0))->field_0) + unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad2.field_0))->field_0) >> 1, alpha: 255);
|
||||
set.Invoke(unchecked((byte*)pDst + (nint)3 * sizeof(crnd_color_quad)), 0, 0, 0, 0);
|
||||
return 3;
|
||||
|
||||
+4
-3
@@ -7,16 +7,17 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: static unsigned int __cdecl crnd::dxt1_block::get_block_colors4(class crnd::color_quad<unsigned char, int> *, unsigned short, unsigned short)")]
|
||||
internal static partial class Get_block_colors4
|
||||
{
|
||||
public unsafe static int Invoke(void* pDst, short color0, short color1)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("class crnd::color_quad<unsigned char, int> *")] void* pDst, [NativeType("unsigned short")] short color0, [NativeType("unsigned short")] short color1)
|
||||
{
|
||||
crnd_color_quad crnd_color_quad = default(crnd_color_quad);
|
||||
crnd_color_quad crnd_color_quad2 = default(crnd_color_quad);
|
||||
unpack_color_ifs9dpd.Invoke(&crnd_color_quad, color0, scaled: true, 255);
|
||||
unpack_color_ifs9dpd.Invoke(&crnd_color_quad2, color1, scaled: true, 255);
|
||||
_4_color_quad.Invoke(pDst, &crnd_color_quad);
|
||||
color_quad_unsigned_char_int_Assignment.Invoke(pDst, &crnd_color_quad);
|
||||
unchecked
|
||||
{
|
||||
_4_color_quad.Invoke((byte*)pDst + sizeof(crnd_color_quad), &crnd_color_quad2);
|
||||
color_quad_unsigned_char_int_Assignment.Invoke((byte*)pDst + sizeof(crnd_color_quad), &crnd_color_quad2);
|
||||
set.Invoke((byte*)pDst + (nint)2 * sizeof(crnd_color_quad), blue: checked(unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad.field_0))->field_2) * 2 + unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad2.field_0))->field_2)) / 3, green: checked(unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad.field_0))->field_1) * 2 + unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad2.field_0))->field_1)) / 3, red: checked(unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad.field_0))->field_0) * 2 + unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad2.field_0))->field_0)) / 3, alpha: 255);
|
||||
set.Invoke((byte*)pDst + (nint)3 * sizeof(crnd_color_quad), blue: checked(unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad2.field_0))->field_2) * 2 + unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad.field_0))->field_2)) / 3, green: checked(unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad2.field_0))->field_1) * 2 + unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad.field_0))->field_1)) / 3, red: checked(unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad2.field_0))->field_0) * 2 + unchecked((byte)((anon_b9ijpuc*)(&crnd_color_quad.field_0))->field_0)) / 3, alpha: 255);
|
||||
return 4;
|
||||
|
||||
+2
-1
@@ -7,7 +7,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("Get_block_values6")]
|
||||
internal static partial class Get_block_values6_5klbycb
|
||||
{
|
||||
public unsafe static int Invoke(void* pDst, int l, int h)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("unsigned int *")] void* pDst, [NativeType("unsigned int")] int l, [NativeType("unsigned int")] int h)
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
|
||||
+2
-1
@@ -8,7 +8,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("Get_block_values6")]
|
||||
internal static partial class Get_block_values6_7gyjbyc
|
||||
{
|
||||
public unsafe static int Invoke(void* pDst, int l, int h)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("class crnd::color_quad<unsigned char, int> *")] void* pDst, [NativeType("unsigned int")] int l, [NativeType("unsigned int")] int h)
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
|
||||
+2
-1
@@ -7,7 +7,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("Get_block_values8")]
|
||||
internal static partial class Get_block_values8_ml7jl2d
|
||||
{
|
||||
public unsafe static int Invoke(void* pDst, int l, int h)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("unsigned int *")] void* pDst, [NativeType("unsigned int")] int l, [NativeType("unsigned int")] int h)
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
|
||||
+2
-1
@@ -8,7 +8,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("Get_block_values8")]
|
||||
internal static partial class Get_block_values8_xv25ufa
|
||||
{
|
||||
public unsafe static int Invoke(void* pDst, int l, int h)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("class crnd::color_quad<unsigned char, int> *")] void* pDst, [NativeType("unsigned int")] int l, [NativeType("unsigned int")] int h)
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
|
||||
+5
-11
@@ -7,19 +7,13 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("Get_block_values")]
|
||||
internal static partial class Get_block_values_2npk7qa
|
||||
{
|
||||
public unsafe static int Invoke(void* pDst, int l, int h)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("unsigned int *")] void* pDst, [NativeType("unsigned int")] int l, [NativeType("unsigned int")] int h)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
void* ptr = null;
|
||||
num2 = h;
|
||||
num3 = l;
|
||||
ptr = pDst;
|
||||
if (unchecked((uint)num3 > (uint)num2))
|
||||
if (unchecked((uint)l > (uint)h))
|
||||
{
|
||||
return Get_block_values8_ml7jl2d.Invoke(ptr, num3, num2);
|
||||
return Get_block_values8_ml7jl2d.Invoke(pDst, l, h);
|
||||
}
|
||||
return Get_block_values6_5klbycb.Invoke(ptr, num3, num2);
|
||||
return Get_block_values6_5klbycb.Invoke(pDst, l, h);
|
||||
}
|
||||
}
|
||||
+5
-11
@@ -7,19 +7,13 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("Get_block_values")]
|
||||
internal static partial class Get_block_values_pxz3b9a
|
||||
{
|
||||
public unsafe static int Invoke(void* pDst, int l, int h)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("class crnd::color_quad<unsigned char, int> *")] void* pDst, [NativeType("unsigned int")] int l, [NativeType("unsigned int")] int h)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
void* ptr = null;
|
||||
num2 = h;
|
||||
num3 = l;
|
||||
ptr = pDst;
|
||||
if (unchecked((uint)num3 > (uint)num2))
|
||||
if (unchecked((uint)l > (uint)h))
|
||||
{
|
||||
return Get_block_values8_xv25ufa.Invoke(ptr, num3, num2);
|
||||
return Get_block_values8_xv25ufa.Invoke(pDst, l, h);
|
||||
}
|
||||
return Get_block_values6_7gyjbyc.Invoke(ptr, num3, num2);
|
||||
return Get_block_values6_7gyjbyc.Invoke(pDst, l, h);
|
||||
}
|
||||
}
|
||||
+1
@@ -7,6 +7,7 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: void const * __cdecl crnd::crn_unpacker::get_data(void) const")]
|
||||
internal static partial class Get_data
|
||||
{
|
||||
[return: NativeType("void const *")]
|
||||
public unsafe static void* Invoke(void* @this)
|
||||
{
|
||||
return unchecked((crnd_crn_unpacker*)@this)->field_1;
|
||||
|
||||
+1
@@ -7,6 +7,7 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: unsigned int __cdecl crnd::crn_unpacker::get_data_size(void) const")]
|
||||
internal static partial class Get_data_size
|
||||
{
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this)
|
||||
{
|
||||
return unchecked((crnd_crn_unpacker*)@this)->field_2;
|
||||
|
||||
+6
-15
@@ -8,30 +8,21 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: unsigned int __cdecl crnd::prefix_coding::decoder_tables::get_unshifted_max_code(unsigned int) const")]
|
||||
internal static partial class Get_unshifted_max_code
|
||||
{
|
||||
public unsafe static int Invoke(void* @this, int len)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this, [NativeType("unsigned int")] int len)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
num2 = len;
|
||||
unchecked
|
||||
{
|
||||
int num4;
|
||||
if ((uint)num2 >= 1u && (uint)num2 <= 16u)
|
||||
{
|
||||
num4 = -1;
|
||||
}
|
||||
else
|
||||
if ((uint)len < 1u || (uint)len > 16u)
|
||||
{
|
||||
crnd_assert.Invoke(String_ajzw4md.__pointer, String_yguirrd.__pointer, 1514);
|
||||
num4 = 0;
|
||||
}
|
||||
num3 = ((int*)(&((crnd_prefix_coding_decoder_tables*)@this)->field_8))[(uint)(num2 - 1)];
|
||||
if (num3 == 0)
|
||||
int num = ((int*)(&((crnd_prefix_coding_decoder_tables*)@this)->field_8))[(uint)(len - 1)];
|
||||
if (num == 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
return num3 - 1 >>> 16 - num2;
|
||||
return num - 1 >>> 16 - len;
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
-35
@@ -8,57 +8,32 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: void __cdecl crnd::dxt3_block::set_alpha(unsigned int, unsigned int, unsigned int, bool)")]
|
||||
internal static partial class Set_alpha
|
||||
{
|
||||
public unsafe static void Invoke(void* @this, int x, int y, int value, bool scaled)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke(void* @this, [NativeType("unsigned int")] int x, [NativeType("unsigned int")] int y, [NativeType("unsigned int")] int value, [NativeType("bool")] bool scaled)
|
||||
{
|
||||
sbyte b = 0;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
int num5 = 0;
|
||||
b = (scaled ? ((sbyte)1) : ((sbyte)0));
|
||||
num = value;
|
||||
num2 = y;
|
||||
num3 = x;
|
||||
sbyte b = (scaled ? ((sbyte)1) : ((sbyte)0));
|
||||
int num = value;
|
||||
unchecked
|
||||
{
|
||||
int num6;
|
||||
if ((uint)num3 < 4u && (uint)num2 < 4u)
|
||||
{
|
||||
num6 = -1;
|
||||
}
|
||||
else
|
||||
if ((uint)x >= 4u || (uint)y >= 4u)
|
||||
{
|
||||
crnd_assert.Invoke(String_cahur4b.__pointer, String_yguirrd.__pointer, 2831);
|
||||
num6 = 0;
|
||||
}
|
||||
int num8;
|
||||
if ((b & 1) == 1)
|
||||
{
|
||||
int num7;
|
||||
if ((uint)num <= 255u)
|
||||
{
|
||||
num7 = -1;
|
||||
}
|
||||
else
|
||||
if ((uint)num > 255u)
|
||||
{
|
||||
crnd_assert.Invoke(String_932ftxa.__pointer, String_yguirrd.__pointer, 2834);
|
||||
num7 = 0;
|
||||
}
|
||||
num = (int)((uint)(num * 15 + 128) / 255u);
|
||||
}
|
||||
else if ((uint)num <= 15u)
|
||||
{
|
||||
num8 = -1;
|
||||
}
|
||||
else
|
||||
else if ((uint)num > 15u)
|
||||
{
|
||||
crnd_assert.Invoke(String_azii4xc.__pointer, String_yguirrd.__pointer, 2837);
|
||||
num8 = 0;
|
||||
}
|
||||
num4 = (num2 << 1) + (num3 >>> 1);
|
||||
num5 = (byte)((sbyte*)(&((crnd_dxt3_block*)@this)->field_0))[(uint)num4];
|
||||
((sbyte*)(&((crnd_dxt3_block*)@this)->field_0))[(uint)num4] = (sbyte)((num5 & ((15 << ((num3 & 1) << 2)) ^ -1)) | (num << ((num3 & 1) << 2)));
|
||||
int num2 = (y << 1) + (x >>> 1);
|
||||
int num3 = (byte)((sbyte*)(&((crnd_dxt3_block*)@this)->field_0))[(uint)num2];
|
||||
((sbyte*)(&((crnd_dxt3_block*)@this)->field_0))[(uint)num2] = (sbyte)((num3 & ((15 << ((x & 1) << 2)) ^ -1)) | (num << ((x & 1) << 2)));
|
||||
}
|
||||
}
|
||||
}
|
||||
-71
@@ -1,71 +0,0 @@
|
||||
using AssetRipper.Conversions.UnityCrunch.Helpers;
|
||||
using AssetRipper.Conversions.UnityCrunch.Intrinsics.Implemented;
|
||||
using AssetRipper.Conversions.UnityCrunch.Structures;
|
||||
|
||||
namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
|
||||
[MangledName("??4decoder_tables@prefix_coding@crnd@@QEAAAEAV012@AEBV012@@Z")]
|
||||
[DemangledName("public: class crnd::prefix_coding::decoder_tables & __cdecl crnd::prefix_coding::decoder_tables::operator=(class crnd::prefix_coding::decoder_tables const &)")]
|
||||
internal static partial class _4decoder_tables
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public unsafe void* field_1;
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(void* @this, void* other)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = other;
|
||||
unchecked
|
||||
{
|
||||
if (@this == startFrame.GetLocalsPointer<LocalVariables>()->field_1)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = @this;
|
||||
}
|
||||
else
|
||||
{
|
||||
clear_ie5thac.Invoke(@this);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
llvm_memcpy_p0_p0_i64.Invoke(@this, startFrame.GetLocalsPointer<LocalVariables>()->field_1, 192L, isVolatile: false);
|
||||
if (((crnd_prefix_coding_decoder_tables*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_11 != null)
|
||||
{
|
||||
void* field_ = crnd_new_array_linsntd.Invoke(((crnd_prefix_coding_decoder_tables*)@this)->field_10);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
((crnd_prefix_coding_decoder_tables*)@this)->field_11 = field_;
|
||||
if (((crnd_prefix_coding_decoder_tables*)@this)->field_11 != null)
|
||||
{
|
||||
llvm_memcpy_p0_p0_i64.Invoke(((crnd_prefix_coding_decoder_tables*)@this)->field_11, ((crnd_prefix_coding_decoder_tables*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_11, 4L * (long)(uint)((crnd_prefix_coding_decoder_tables*)@this)->field_10, isVolatile: false);
|
||||
}
|
||||
}
|
||||
if (((crnd_prefix_coding_decoder_tables*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_13 != null)
|
||||
{
|
||||
void* field_2 = crnd_new_array_ovofsdb.Invoke(((crnd_prefix_coding_decoder_tables*)@this)->field_12);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
((crnd_prefix_coding_decoder_tables*)@this)->field_13 = field_2;
|
||||
if (((crnd_prefix_coding_decoder_tables*)@this)->field_13 != null)
|
||||
{
|
||||
llvm_memcpy_p0_p0_i64.Invoke(((crnd_prefix_coding_decoder_tables*)@this)->field_13, ((crnd_prefix_coding_decoder_tables*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_13, 2L * (long)(uint)((crnd_prefix_coding_decoder_tables*)@this)->field_12, isVolatile: false);
|
||||
}
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = @this;
|
||||
}
|
||||
void* field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_3;
|
||||
}
|
||||
}
|
||||
}
|
||||
-85
@@ -1,85 +0,0 @@
|
||||
using AssetRipper.Conversions.UnityCrunch.Helpers;
|
||||
using AssetRipper.Conversions.UnityCrunch.Structures;
|
||||
|
||||
namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
|
||||
[MangledName("??4static_huffman_data_model@crnd@@QEAAAEAV01@AEBV01@@Z")]
|
||||
[DemangledName("public: class crnd::static_huffman_data_model & __cdecl crnd::static_huffman_data_model::operator=(class crnd::static_huffman_data_model const &)")]
|
||||
internal static partial class _4static_huffman_data_model
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public unsafe void* field_1;
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(void* @this, void* rhs)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = rhs;
|
||||
unchecked
|
||||
{
|
||||
if (@this == startFrame.GetLocalsPointer<LocalVariables>()->field_1)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = @this;
|
||||
}
|
||||
else
|
||||
{
|
||||
((crnd_static_huffman_data_model*)@this)->field_0 = ((crnd_static_huffman_data_model*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_0;
|
||||
_4_vector.Invoke(other: &((crnd_static_huffman_data_model*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_1, @this: &((crnd_static_huffman_data_model*)@this)->field_1);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (Get_alloc_failed.Invoke(&((crnd_static_huffman_data_model*)@this)->field_1))
|
||||
{
|
||||
clear_egw7ktb.Invoke(@this);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = @this;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (((crnd_static_huffman_data_model*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_2 != null)
|
||||
{
|
||||
if (((crnd_static_huffman_data_model*)@this)->field_2 != null)
|
||||
{
|
||||
_4decoder_tables.Invoke(other: ((crnd_static_huffman_data_model*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_2, @this: ((crnd_static_huffman_data_model*)@this)->field_2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
void* field_ = crnd_new_vzd3zqa.Invoke(((crnd_static_huffman_data_model*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
((crnd_static_huffman_data_model*)@this)->field_2 = field_;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
crnd_delete_rldcmnc.Invoke(((crnd_static_huffman_data_model*)@this)->field_2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
((crnd_static_huffman_data_model*)@this)->field_2 = null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = @this;
|
||||
}
|
||||
}
|
||||
void* field_2 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_2;
|
||||
}
|
||||
}
|
||||
}
|
||||
+25
-44
@@ -8,62 +8,43 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: bool __cdecl crnd::vector<unsigned char>::assign(class crnd::vector<unsigned char> const &)")]
|
||||
internal static partial class assign
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke(void* @this, [NativeType("class crnd::vector<unsigned char> const &")] void* other)
|
||||
{
|
||||
public bool field_0;
|
||||
|
||||
public unsafe void* field_1;
|
||||
}
|
||||
|
||||
public unsafe static bool Invoke(void* @this, void* other)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = other;
|
||||
if (@this == other)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
unchecked
|
||||
{
|
||||
if (@this == startFrame.GetLocalsPointer<LocalVariables>()->field_1)
|
||||
if (((crnd_vector_f3cmzmc*)@this)->field_2 == ((crnd_vector_f3cmzmc*)other)->field_1)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = true;
|
||||
resize_rzzl5xd.Invoke(@this, 0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (((crnd_vector*)@this)->field_2 == ((crnd_vector*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_1)
|
||||
clear_q4odfmb.Invoke(@this);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
resize_rzzl5xd.Invoke(@this, 0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else
|
||||
bool flag = increase_capacity_a7boycc.Invoke(@this, ((crnd_vector_f3cmzmc*)other)->field_1, grow_hint: false);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
clear_q4odfmb.Invoke(@this);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
bool flag = increase_capacity_a7boycc.Invoke(@this, ((crnd_vector*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_1, grow_hint: false);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!flag)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
goto IL_014e;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (!flag)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
llvm_memcpy_p0_p0_i64.Invoke(((crnd_vector*)@this)->field_0, ((crnd_vector*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_0, (long)(uint)((crnd_vector*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_1 * 1L, isVolatile: false);
|
||||
((crnd_vector*)@this)->field_1 = ((crnd_vector*)startFrame.GetLocalsPointer<LocalVariables>()->field_1)->field_1;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = true;
|
||||
}
|
||||
goto IL_014e;
|
||||
llvm_memcpy_p0_p0_i64.Invoke(((crnd_vector_f3cmzmc*)@this)->field_0, ((crnd_vector_f3cmzmc*)other)->field_0, (long)(uint)((crnd_vector_f3cmzmc*)other)->field_1 * 1L, isVolatile: false);
|
||||
((crnd_vector_f3cmzmc*)@this)->field_1 = ((crnd_vector_f3cmzmc*)other)->field_1;
|
||||
return true;
|
||||
}
|
||||
IL_014e:
|
||||
bool field_ = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_;
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -7,8 +7,9 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: unsigned short * __cdecl crnd::vector<unsigned short>::begin(void)")]
|
||||
internal static partial class begin
|
||||
{
|
||||
[return: NativeType("unsigned short *")]
|
||||
public unsafe static void* Invoke(void* @this)
|
||||
{
|
||||
return unchecked((crnd_vector_8*)@this)->field_0;
|
||||
return unchecked((crnd_vector_rf9iywd*)@this)->field_0;
|
||||
}
|
||||
}
|
||||
+6
-8
@@ -6,19 +6,17 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("unsigned int __cdecl crnd::math::ceil_log2i(unsigned int)")]
|
||||
internal static partial class ceil_log2i
|
||||
{
|
||||
public static int Invoke(int v)
|
||||
[return: NativeType("unsigned int")]
|
||||
public static int Invoke([NativeType("unsigned int")] int v)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
num = v;
|
||||
num2 = floor_log2i.Invoke(num);
|
||||
int num = floor_log2i.Invoke(v);
|
||||
unchecked
|
||||
{
|
||||
if (num2 != 32 && (uint)num > (uint)(1 << num2))
|
||||
if (num != 32 && (uint)v > (uint)(1 << num))
|
||||
{
|
||||
num2++;
|
||||
num++;
|
||||
}
|
||||
return num2;
|
||||
return num;
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-7
@@ -6,19 +6,17 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("private: static int __cdecl crnd::color_quad<unsigned char, int>::clamp(int)")]
|
||||
internal static partial class clamp
|
||||
{
|
||||
public static int Invoke(int v)
|
||||
[return: NativeType("int")]
|
||||
public static int Invoke([NativeType("int")] int v)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
num2 = v;
|
||||
if (num2 < 0)
|
||||
if (v < 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (num2 > 255)
|
||||
if (v > 255)
|
||||
{
|
||||
return 255;
|
||||
}
|
||||
return num2;
|
||||
return v;
|
||||
}
|
||||
}
|
||||
+8
-13
@@ -8,29 +8,24 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("clear")]
|
||||
internal static partial class clear_bqconyd
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
}
|
||||
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
unchecked
|
||||
{
|
||||
if (((crnd_vector_8*)@this)->field_0 != null)
|
||||
if (((crnd_vector_rf9iywd*)@this)->field_0 != null)
|
||||
{
|
||||
destruct_array_l9jmj2b.Invoke(parameter_1: ((crnd_vector_8*)@this)->field_1, parameter_0: ((crnd_vector_8*)@this)->field_0);
|
||||
crnd_free.Invoke(((crnd_vector_8*)@this)->field_0);
|
||||
destruct_array_l9jmj2b.Invoke(parameter_1: ((crnd_vector_rf9iywd*)@this)->field_1, parameter_0: ((crnd_vector_rf9iywd*)@this)->field_0);
|
||||
crnd_free.Invoke(((crnd_vector_rf9iywd*)@this)->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
((crnd_vector_8*)@this)->field_0 = null;
|
||||
((crnd_vector_8*)@this)->field_1 = 0;
|
||||
((crnd_vector_8*)@this)->field_2 = 0;
|
||||
((crnd_vector_rf9iywd*)@this)->field_0 = null;
|
||||
((crnd_vector_rf9iywd*)@this)->field_1 = 0;
|
||||
((crnd_vector_rf9iywd*)@this)->field_2 = 0;
|
||||
}
|
||||
((crnd_vector_8*)@this)->field_3 = 0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
((crnd_vector_rf9iywd*)@this)->field_3 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
+4
-14
@@ -8,31 +8,21 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("clear")]
|
||||
internal static partial class clear_egw7ktb
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
}
|
||||
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
unchecked
|
||||
{
|
||||
((crnd_static_huffman_data_model*)@this)->field_0 = 0;
|
||||
clear_q4odfmb.Invoke(&((crnd_static_huffman_data_model*)@this)->field_1);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (((crnd_static_huffman_data_model*)@this)->field_2 != null)
|
||||
if (ExceptionInfo.Current == null && ((crnd_static_huffman_data_model*)@this)->field_2 != null)
|
||||
{
|
||||
crnd_delete_rldcmnc.Invoke(((crnd_static_huffman_data_model*)@this)->field_2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
return;
|
||||
((crnd_static_huffman_data_model*)@this)->field_2 = null;
|
||||
}
|
||||
((crnd_static_huffman_data_model*)@this)->field_2 = null;
|
||||
}
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
}
|
||||
}
|
||||
}
|
||||
+4
-10
@@ -8,13 +8,9 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("clear")]
|
||||
internal static partial class clear_ie5thac
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
}
|
||||
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
unchecked
|
||||
{
|
||||
if (((crnd_prefix_coding_decoder_tables*)@this)->field_11 != null)
|
||||
@@ -30,14 +26,12 @@ internal static partial class clear_ie5thac
|
||||
if (((crnd_prefix_coding_decoder_tables*)@this)->field_13 != null)
|
||||
{
|
||||
crnd_delete_array_rytswyc.Invoke(((crnd_prefix_coding_decoder_tables*)@this)->field_13);
|
||||
if (ExceptionInfo.Current != null)
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
return;
|
||||
((crnd_prefix_coding_decoder_tables*)@this)->field_13 = null;
|
||||
((crnd_prefix_coding_decoder_tables*)@this)->field_12 = 0;
|
||||
}
|
||||
((crnd_prefix_coding_decoder_tables*)@this)->field_13 = null;
|
||||
((crnd_prefix_coding_decoder_tables*)@this)->field_12 = 0;
|
||||
}
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
-13
@@ -8,29 +8,24 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("clear")]
|
||||
internal static partial class clear_jenxxsd
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
}
|
||||
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
unchecked
|
||||
{
|
||||
if (((crnd_vector_11*)@this)->field_0 != null)
|
||||
if (((crnd_vector_y4ukjxd*)@this)->field_0 != null)
|
||||
{
|
||||
destruct_array_h3fegud.Invoke(n: ((crnd_vector_11*)@this)->field_1, p: ((crnd_vector_11*)@this)->field_0);
|
||||
crnd_free.Invoke(((crnd_vector_11*)@this)->field_0);
|
||||
destruct_array_h3fegud.Invoke(n: ((crnd_vector_y4ukjxd*)@this)->field_1, p: ((crnd_vector_y4ukjxd*)@this)->field_0);
|
||||
crnd_free.Invoke(((crnd_vector_y4ukjxd*)@this)->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
((crnd_vector_11*)@this)->field_0 = null;
|
||||
((crnd_vector_11*)@this)->field_1 = 0;
|
||||
((crnd_vector_11*)@this)->field_2 = 0;
|
||||
((crnd_vector_y4ukjxd*)@this)->field_0 = null;
|
||||
((crnd_vector_y4ukjxd*)@this)->field_1 = 0;
|
||||
((crnd_vector_y4ukjxd*)@this)->field_2 = 0;
|
||||
}
|
||||
((crnd_vector_11*)@this)->field_3 = 0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
((crnd_vector_y4ukjxd*)@this)->field_3 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
-13
@@ -8,29 +8,24 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("clear")]
|
||||
internal static partial class clear_q4odfmb
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
}
|
||||
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
unchecked
|
||||
{
|
||||
if (((crnd_vector*)@this)->field_0 != null)
|
||||
if (((crnd_vector_f3cmzmc*)@this)->field_0 != null)
|
||||
{
|
||||
destruct_array_dhbxund.Invoke(parameter_1: ((crnd_vector*)@this)->field_1, parameter_0: ((crnd_vector*)@this)->field_0);
|
||||
crnd_free.Invoke(((crnd_vector*)@this)->field_0);
|
||||
destruct_array_dhbxund.Invoke(parameter_1: ((crnd_vector_f3cmzmc*)@this)->field_1, parameter_0: ((crnd_vector_f3cmzmc*)@this)->field_0);
|
||||
crnd_free.Invoke(((crnd_vector_f3cmzmc*)@this)->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
((crnd_vector*)@this)->field_0 = null;
|
||||
((crnd_vector*)@this)->field_1 = 0;
|
||||
((crnd_vector*)@this)->field_2 = 0;
|
||||
((crnd_vector_f3cmzmc*)@this)->field_0 = null;
|
||||
((crnd_vector_f3cmzmc*)@this)->field_1 = 0;
|
||||
((crnd_vector_f3cmzmc*)@this)->field_2 = 0;
|
||||
}
|
||||
((crnd_vector*)@this)->field_3 = 0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
((crnd_vector_f3cmzmc*)@this)->field_3 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
-13
@@ -8,29 +8,24 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("clear")]
|
||||
internal static partial class clear_utei2oa
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
}
|
||||
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
unchecked
|
||||
{
|
||||
if (((crnd_vector_5*)@this)->field_0 != null)
|
||||
if (((crnd_vector_maaktjc*)@this)->field_0 != null)
|
||||
{
|
||||
destruct_array_rsqiwgc.Invoke(parameter_1: ((crnd_vector_5*)@this)->field_1, parameter_0: ((crnd_vector_5*)@this)->field_0);
|
||||
crnd_free.Invoke(((crnd_vector_5*)@this)->field_0);
|
||||
destruct_array_rsqiwgc.Invoke(parameter_1: ((crnd_vector_maaktjc*)@this)->field_1, parameter_0: ((crnd_vector_maaktjc*)@this)->field_0);
|
||||
crnd_free.Invoke(((crnd_vector_maaktjc*)@this)->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
((crnd_vector_5*)@this)->field_0 = null;
|
||||
((crnd_vector_5*)@this)->field_1 = 0;
|
||||
((crnd_vector_5*)@this)->field_2 = 0;
|
||||
((crnd_vector_maaktjc*)@this)->field_0 = null;
|
||||
((crnd_vector_maaktjc*)@this)->field_1 = 0;
|
||||
((crnd_vector_maaktjc*)@this)->field_2 = 0;
|
||||
}
|
||||
((crnd_vector_5*)@this)->field_3 = 0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
((crnd_vector_maaktjc*)@this)->field_3 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -5,9 +5,10 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
|
||||
[MangledName("??4?$color_quad@EH@crnd@@QEAAAEAV01@AEBV01@@Z")]
|
||||
[DemangledName("public: class crnd::color_quad<unsigned char, int> & __cdecl crnd::color_quad<unsigned char, int>::operator=(class crnd::color_quad<unsigned char, int> const &)")]
|
||||
internal static partial class _4_color_quad
|
||||
internal static partial class color_quad_unsigned_char_int_Assignment
|
||||
{
|
||||
public unsafe static void* Invoke(void* @this, void* other)
|
||||
[return: NativeType("class crnd::color_quad<unsigned char, int> &")]
|
||||
public unsafe static void* Invoke(void* @this, [NativeType("class crnd::color_quad<unsigned char, int> const &")] void* other)
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
+1
-1
@@ -6,7 +6,7 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: __cdecl crnd::color_quad<unsigned char, int>::color_quad<unsigned char, int>(int, int, int, int)")]
|
||||
internal static partial class color_quad_unsigned_char_int_Constructor
|
||||
{
|
||||
public unsafe static void* Invoke(void* @this, int red, int green, int blue, int alpha)
|
||||
public unsafe static void* Invoke(void* @this, [NativeType("int")] int red, [NativeType("int")] int green, [NativeType("int")] int blue, [NativeType("int")] int alpha)
|
||||
{
|
||||
set.Invoke(@this, red, green, blue, alpha);
|
||||
return @this;
|
||||
|
||||
+4
-4
@@ -7,17 +7,17 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("private: unsigned int __cdecl crnd::static_huffman_data_model::compute_decoder_table_bits(void) const")]
|
||||
internal static partial class compute_decoder_table_bits
|
||||
{
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this)
|
||||
{
|
||||
int num = 0;
|
||||
num = 0;
|
||||
int result = 0;
|
||||
unchecked
|
||||
{
|
||||
if ((uint)((crnd_static_huffman_data_model*)@this)->field_0 > 16u)
|
||||
{
|
||||
num = (byte)(sbyte)minimum.Invoke(1 + ceil_log2i.Invoke(((crnd_static_huffman_data_model*)@this)->field_0), 11);
|
||||
result = (byte)(sbyte)minimum.Invoke(1 + ceil_log2i.Invoke(((crnd_static_huffman_data_model*)@this)->field_0), 11);
|
||||
}
|
||||
return num;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
-13
@@ -6,28 +6,25 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("unsigned int __cdecl crnd::utils::compute_max_mips(unsigned int, unsigned int)")]
|
||||
internal static partial class compute_max_mips
|
||||
{
|
||||
public static int Invoke(int width, int height)
|
||||
[return: NativeType("unsigned int")]
|
||||
public static int Invoke([NativeType("unsigned int")] int width, [NativeType("unsigned int")] int height)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
num2 = height;
|
||||
num3 = width;
|
||||
if ((num3 | num2) == 0)
|
||||
int num = height;
|
||||
int num2 = width;
|
||||
if ((num2 | num) == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
num4 = 1;
|
||||
int num3 = 1;
|
||||
unchecked
|
||||
{
|
||||
while (((uint)num3 <= 1u) ? ((uint)num2 > 1u) : true)
|
||||
while (((uint)num2 <= 1u) ? ((uint)num > 1u) : true)
|
||||
{
|
||||
num3 >>>= 1;
|
||||
num2 >>>= 1;
|
||||
num4++;
|
||||
num >>>= 1;
|
||||
num3++;
|
||||
}
|
||||
return num4;
|
||||
return num3;
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -8,7 +8,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("construct_array")]
|
||||
internal static partial class construct_array_45u5mpd
|
||||
{
|
||||
public unsafe static void Invoke(void* p, int n)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("unsigned int *")] void* p, [NativeType("unsigned int")] int n)
|
||||
{
|
||||
llvm_memset_p0_i64.Invoke(p, 0, unchecked(4L * (long)(uint)n), isVolatile: false);
|
||||
}
|
||||
|
||||
+2
-1
@@ -7,7 +7,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("construct_array")]
|
||||
internal static partial class construct_array_5afuwda
|
||||
{
|
||||
public unsafe static void Invoke(void* p, int n)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("struct crnd::crn_unpacker::block_buffer_element *")] void* p, [NativeType("unsigned int")] int n)
|
||||
{
|
||||
construct_array_f9hrzwd.Invoke(p, n);
|
||||
}
|
||||
|
||||
+4
-5
@@ -8,14 +8,13 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("construct_array")]
|
||||
internal static partial class construct_array_f9hrzwd
|
||||
{
|
||||
public unsafe static void Invoke(void* p, int n)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("struct crnd::crn_unpacker::block_buffer_element *")] void* p, [NativeType("unsigned int")] int n)
|
||||
{
|
||||
void* ptr = null;
|
||||
void* ptr2 = null;
|
||||
ptr = p;
|
||||
void* ptr = p;
|
||||
unchecked
|
||||
{
|
||||
for (ptr2 = (byte*)ptr + (nint)(uint)n * (nint)sizeof(crnd_crn_unpacker_block_buffer_element); ptr != ptr2; ptr = (byte*)ptr + sizeof(crnd_crn_unpacker_block_buffer_element))
|
||||
for (void* ptr2 = (byte*)ptr + (nint)(uint)n * (nint)sizeof(crnd_crn_unpacker_block_buffer_element); ptr != ptr2; ptr = (byte*)ptr + sizeof(crnd_crn_unpacker_block_buffer_element))
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -8,7 +8,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("construct_array")]
|
||||
internal static partial class construct_array_gqnztta
|
||||
{
|
||||
public unsafe static void Invoke(void* p, int n)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("unsigned short *")] void* p, [NativeType("unsigned int")] int n)
|
||||
{
|
||||
llvm_memset_p0_i64.Invoke(p, 0, unchecked(2L * (long)(uint)n), isVolatile: false);
|
||||
}
|
||||
|
||||
+2
-1
@@ -8,7 +8,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("construct_array")]
|
||||
internal static partial class construct_array_oifcoec
|
||||
{
|
||||
public unsafe static void Invoke(void* p, int n)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("unsigned char *")] void* p, [NativeType("unsigned int")] int n)
|
||||
{
|
||||
llvm_memset_p0_i64.Invoke(p, 0, unchecked(1L * (long)(uint)n), isVolatile: false);
|
||||
}
|
||||
|
||||
+4
-5
@@ -7,14 +7,13 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("construct_array")]
|
||||
internal static partial class construct_array_pri7s5c
|
||||
{
|
||||
public unsafe static void Invoke(void* p, int n)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("unsigned short *")] void* p, [NativeType("unsigned int")] int n)
|
||||
{
|
||||
void* ptr = null;
|
||||
void* ptr2 = null;
|
||||
ptr = p;
|
||||
void* ptr = p;
|
||||
unchecked
|
||||
{
|
||||
for (ptr2 = (byte*)ptr + (nint)(uint)n * (nint)2; ptr != ptr2; ptr = (byte*)ptr + 2)
|
||||
for (void* ptr2 = (byte*)ptr + (nint)(uint)n * (nint)2; ptr != ptr2; ptr = (byte*)ptr + 2)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
+4
-5
@@ -7,14 +7,13 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("construct_array")]
|
||||
internal static partial class construct_array_rijpqya
|
||||
{
|
||||
public unsafe static void Invoke(void* p, int n)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("unsigned int *")] void* p, [NativeType("unsigned int")] int n)
|
||||
{
|
||||
void* ptr = null;
|
||||
void* ptr2 = null;
|
||||
ptr = p;
|
||||
void* ptr = p;
|
||||
unchecked
|
||||
{
|
||||
for (ptr2 = (byte*)ptr + (nint)(uint)n * (nint)4; ptr != ptr2; ptr = (byte*)ptr + 4)
|
||||
for (void* ptr2 = (byte*)ptr + (nint)(uint)n * (nint)4; ptr != ptr2; ptr = (byte*)ptr + 4)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
+2
-7
@@ -7,19 +7,14 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("construct")]
|
||||
internal static partial class construct_bzfae7a
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("class crnd::crn_unpacker *")]
|
||||
public unsafe static void* Invoke([NativeType("class crnd::crn_unpacker *")] void* p)
|
||||
{
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(void* p)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
crn_unpacker_Constructor.Invoke(p);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return p;
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -7,7 +7,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("construct")]
|
||||
internal static partial class construct_e5fhx3a
|
||||
{
|
||||
public unsafe static void* Invoke(void* p)
|
||||
[return: NativeType("class crnd::prefix_coding::decoder_tables *")]
|
||||
public unsafe static void* Invoke([NativeType("class crnd::prefix_coding::decoder_tables *")] void* p)
|
||||
{
|
||||
decoder_tables_Constructor_2o5uqyd.Invoke(p);
|
||||
return p;
|
||||
|
||||
+2
-7
@@ -7,19 +7,14 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("construct")]
|
||||
internal static partial class construct_zybj4yc
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("class crnd::prefix_coding::decoder_tables *")]
|
||||
public unsafe static void* Invoke([NativeType("class crnd::prefix_coding::decoder_tables *")] void* p, [NativeType("class crnd::prefix_coding::decoder_tables const &")] void* init)
|
||||
{
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(void* p, void* init)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
decoder_tables_Constructor_3v4xfjd.Invoke(p, init);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return p;
|
||||
}
|
||||
}
|
||||
+11
-15
@@ -6,29 +6,25 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("unsigned short __cdecl crnd::crc16(void const *, unsigned int, unsigned short)")]
|
||||
internal static partial class crc16
|
||||
{
|
||||
public unsafe static short Invoke(void* pBuf, int len, short crc)
|
||||
[return: NativeType("unsigned short")]
|
||||
public unsafe static short Invoke([NativeType("void const *")] void* pBuf, [NativeType("unsigned int")] int len, [NativeType("unsigned short")] short crc)
|
||||
{
|
||||
short num = 0;
|
||||
int num2 = 0;
|
||||
void* ptr = null;
|
||||
short num3 = 0;
|
||||
short num4 = 0;
|
||||
num = crc;
|
||||
num2 = len;
|
||||
short num = crc;
|
||||
int i = len;
|
||||
unchecked
|
||||
{
|
||||
num = (short)((ushort)num ^ -1);
|
||||
ptr = pBuf;
|
||||
for (; num2 != 0; num2 += -1)
|
||||
void* ptr = pBuf;
|
||||
for (; i != 0; i += -1)
|
||||
{
|
||||
void* ptr2 = ptr;
|
||||
ptr = (byte*)ptr2 + 1;
|
||||
num3 = (short)((byte)(*(sbyte*)ptr2) ^ ((ushort)num >> 8));
|
||||
short num2 = (short)((byte)(*(sbyte*)ptr2) ^ ((ushort)num >> 8));
|
||||
num = (short)((ushort)num << 8);
|
||||
num4 = (short)(((ushort)num3 >> 4) ^ (ushort)num3);
|
||||
num = (short)((ushort)num ^ (ushort)num4);
|
||||
num4 = (short)((ushort)num4 << 5);
|
||||
num = (short)((ushort)(short)((ushort)num ^ (ushort)num4) ^ (ushort)(short)((ushort)num4 << 7));
|
||||
short num3 = (short)(((ushort)num2 >> 4) ^ (ushort)num2);
|
||||
num = (short)((ushort)num ^ (ushort)num3);
|
||||
num3 = (short)((ushort)num3 << 5);
|
||||
num = (short)((ushort)(short)((ushort)num ^ (ushort)num3) ^ (ushort)(short)((ushort)num3 << 7));
|
||||
}
|
||||
return (short)((ushort)num ^ -1);
|
||||
}
|
||||
|
||||
+3
-3
@@ -5,11 +5,11 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
|
||||
[MangledName("??B?$crn_packed_uint@$00@crnd@@QEBAIXZ")]
|
||||
[DemangledName("public: unsigned int __cdecl crnd::crn_packed_uint<1>::operator unsigned int(void) const")]
|
||||
[CleanName("operator_unsigned_int")]
|
||||
internal static partial class operator_unsigned_int_neugqod
|
||||
internal static partial class crn_packed_uint_1_ToUInt32
|
||||
{
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this)
|
||||
{
|
||||
return unchecked((byte)(*(sbyte*)(&((crnd_crn_packed_uint_1*)@this)->field_0)));
|
||||
return unchecked((byte)(*(sbyte*)(&((crnd_crn_packed_uint_94amu2d*)@this)->field_0)));
|
||||
}
|
||||
}
|
||||
+6
-8
@@ -5,20 +5,18 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
|
||||
[MangledName("??4?$crn_packed_uint@$01@crnd@@QEAAAEAU01@I@Z")]
|
||||
[DemangledName("public: struct crnd::crn_packed_uint<2> & __cdecl crnd::crn_packed_uint<2>::operator=(unsigned int)")]
|
||||
[CleanName("_4_crn_packed_uint")]
|
||||
internal static partial class _4_crn_packed_uint_5xksx5a
|
||||
internal static partial class crn_packed_uint_2_Assignment
|
||||
{
|
||||
public unsafe static void* Invoke(void* @this, int val)
|
||||
[return: NativeType("struct crnd::crn_packed_uint<2> &")]
|
||||
public unsafe static void* Invoke(void* @this, [NativeType("unsigned int")] int val)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
num = val;
|
||||
int num = val;
|
||||
num <<= 16;
|
||||
unchecked
|
||||
{
|
||||
for (num2 = 0; (uint)num2 < 2u; num2++)
|
||||
for (int i = 0; (uint)i < 2u; i++)
|
||||
{
|
||||
((sbyte*)(&((crnd_crn_packed_uint*)@this)->field_0))[(uint)num2] = (sbyte)(num >>> 24);
|
||||
((sbyte*)(&((crnd_crn_packed_uint_hnsywfd*)@this)->field_0))[(uint)i] = (sbyte)(num >>> 24);
|
||||
num <<= 8;
|
||||
}
|
||||
return @this;
|
||||
+3
-3
@@ -5,11 +5,11 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
|
||||
[MangledName("??B?$crn_packed_uint@$01@crnd@@QEBAIXZ")]
|
||||
[DemangledName("public: unsigned int __cdecl crnd::crn_packed_uint<2>::operator unsigned int(void) const")]
|
||||
[CleanName("operator_unsigned_int")]
|
||||
internal static partial class operator_unsigned_int_f3crpsb
|
||||
internal static partial class crn_packed_uint_2_ToUInt32
|
||||
{
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this)
|
||||
{
|
||||
return unchecked(((byte)(*(sbyte*)(&((crnd_crn_packed_uint*)@this)->field_0)) << 8) | (byte)((sbyte*)(&((crnd_crn_packed_uint*)@this)->field_0))[1]);
|
||||
return unchecked(((byte)(*(sbyte*)(&((crnd_crn_packed_uint_hnsywfd*)@this)->field_0)) << 8) | (byte)((sbyte*)(&((crnd_crn_packed_uint_hnsywfd*)@this)->field_0))[1]);
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -5,11 +5,11 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
|
||||
[MangledName("??B?$crn_packed_uint@$02@crnd@@QEBAIXZ")]
|
||||
[DemangledName("public: unsigned int __cdecl crnd::crn_packed_uint<3>::operator unsigned int(void) const")]
|
||||
[CleanName("operator_unsigned_int")]
|
||||
internal static partial class operator_unsigned_int_4iyly2b
|
||||
internal static partial class crn_packed_uint_3_ToUInt32
|
||||
{
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this)
|
||||
{
|
||||
return unchecked(((byte)(*(sbyte*)(&((crnd_crn_packed_uint_2*)@this)->field_0)) << 16) | ((byte)((sbyte*)(&((crnd_crn_packed_uint_2*)@this)->field_0))[1] << 8) | (byte)((sbyte*)(&((crnd_crn_packed_uint_2*)@this)->field_0))[2]);
|
||||
return unchecked(((byte)(*(sbyte*)(&((crnd_crn_packed_uint_fru7ewb*)@this)->field_0)) << 16) | ((byte)((sbyte*)(&((crnd_crn_packed_uint_fru7ewb*)@this)->field_0))[1] << 8) | (byte)((sbyte*)(&((crnd_crn_packed_uint_fru7ewb*)@this)->field_0))[2]);
|
||||
}
|
||||
}
|
||||
+6
-8
@@ -5,20 +5,18 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
|
||||
[MangledName("??4?$crn_packed_uint@$03@crnd@@QEAAAEAU01@I@Z")]
|
||||
[DemangledName("public: struct crnd::crn_packed_uint<4> & __cdecl crnd::crn_packed_uint<4>::operator=(unsigned int)")]
|
||||
[CleanName("_4_crn_packed_uint")]
|
||||
internal static partial class _4_crn_packed_uint_53ytska
|
||||
internal static partial class crn_packed_uint_4_Assignment
|
||||
{
|
||||
public unsafe static void* Invoke(void* @this, int val)
|
||||
[return: NativeType("struct crnd::crn_packed_uint<4> &")]
|
||||
public unsafe static void* Invoke(void* @this, [NativeType("unsigned int")] int val)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
num = val;
|
||||
int num = val;
|
||||
num <<= 0;
|
||||
unchecked
|
||||
{
|
||||
for (num2 = 0; (uint)num2 < 4u; num2++)
|
||||
for (int i = 0; (uint)i < 4u; i++)
|
||||
{
|
||||
((sbyte*)(&((crnd_crn_packed_uint_0*)@this)->field_0))[(uint)num2] = (sbyte)(num >>> 24);
|
||||
((sbyte*)(&((crnd_crn_packed_uint_jymcebc*)@this)->field_0))[(uint)i] = (sbyte)(num >>> 24);
|
||||
num <<= 8;
|
||||
}
|
||||
return @this;
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
using AssetRipper.Conversions.UnityCrunch.Helpers;
|
||||
using AssetRipper.Conversions.UnityCrunch.Structures;
|
||||
|
||||
namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
|
||||
[MangledName("??B?$crn_packed_uint@$03@crnd@@QEBAIXZ")]
|
||||
[DemangledName("public: unsigned int __cdecl crnd::crn_packed_uint<4>::operator unsigned int(void) const")]
|
||||
internal static partial class crn_packed_uint_4_ToUInt32
|
||||
{
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this)
|
||||
{
|
||||
return unchecked(((byte)(*(sbyte*)(&((crnd_crn_packed_uint_jymcebc*)@this)->field_0)) << 24) | ((byte)((sbyte*)(&((crnd_crn_packed_uint_jymcebc*)@this)->field_0))[1] << 16) | ((byte)((sbyte*)(&((crnd_crn_packed_uint_jymcebc*)@this)->field_0))[2] << 8) | (byte)((sbyte*)(&((crnd_crn_packed_uint_jymcebc*)@this)->field_0))[3]);
|
||||
}
|
||||
}
|
||||
+7
-17
@@ -8,16 +8,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: __cdecl crnd::crn_unpacker::crn_unpacker(void)")]
|
||||
internal static partial class crn_unpacker_Constructor
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = @this;
|
||||
unchecked
|
||||
{
|
||||
((crnd_crn_unpacker*)@this)->field_0 = 519686845;
|
||||
@@ -27,7 +19,7 @@ internal static partial class crn_unpacker_Constructor
|
||||
symbol_codec_Constructor.Invoke(&((crnd_crn_unpacker*)@this)->field_4);
|
||||
crnd_static_huffman_data_model* field_ = &((crnd_crn_unpacker*)@this)->field_5;
|
||||
static_huffman_data_model_Constructor_tl33idc.Invoke(field_);
|
||||
InlineArray_2_tahu2ya* field_2 = &((crnd_crn_unpacker*)@this)->field_6;
|
||||
InlineArray2_crnd_static_huffman_data_model* field_2 = &((crnd_crn_unpacker*)@this)->field_6;
|
||||
crnd_static_huffman_data_model* ptr = (crnd_static_huffman_data_model*)field_2;
|
||||
crnd_static_huffman_data_model* ptr2 = ptr + 2L;
|
||||
crnd_static_huffman_data_model* intPtr = ptr;
|
||||
@@ -43,7 +35,7 @@ internal static partial class crn_unpacker_Constructor
|
||||
intPtr = ptr4;
|
||||
continue;
|
||||
}
|
||||
InlineArray_2_tahu2ya* field_3 = &((crnd_crn_unpacker*)@this)->field_7;
|
||||
InlineArray2_crnd_static_huffman_data_model* field_3 = &((crnd_crn_unpacker*)@this)->field_7;
|
||||
crnd_static_huffman_data_model* ptr5 = (crnd_static_huffman_data_model*)field_3;
|
||||
crnd_static_huffman_data_model* ptr6 = ptr5 + 2L;
|
||||
crnd_static_huffman_data_model* intPtr2 = ptr5;
|
||||
@@ -59,28 +51,26 @@ internal static partial class crn_unpacker_Constructor
|
||||
intPtr2 = ptr8;
|
||||
continue;
|
||||
}
|
||||
crnd_vector_5* field_4 = &((crnd_crn_unpacker*)@this)->field_8;
|
||||
crnd_vector_maaktjc* field_4 = &((crnd_crn_unpacker*)@this)->field_8;
|
||||
vector_unsigned_int_Constructor.Invoke(field_4);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
crnd_vector_5* field_5 = &((crnd_crn_unpacker*)@this)->field_9;
|
||||
crnd_vector_maaktjc* field_5 = &((crnd_crn_unpacker*)@this)->field_9;
|
||||
vector_unsigned_int_Constructor.Invoke(field_5);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
crnd_vector_8* field_6 = &((crnd_crn_unpacker*)@this)->field_10;
|
||||
crnd_vector_rf9iywd* field_6 = &((crnd_crn_unpacker*)@this)->field_10;
|
||||
vector_unsigned_short_Constructor.Invoke(field_6);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
crnd_vector_8* field_7 = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
crnd_vector_rf9iywd* field_7 = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
vector_unsigned_short_Constructor.Invoke(field_7);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
vector_struct_crnd_crn_unpacker_block_buffer_element_Constructor.Invoke(&((crnd_crn_unpacker*)@this)->field_12);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
void* field_8 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_8;
|
||||
return @this;
|
||||
}
|
||||
ExceptionInfo current = ExceptionInfo.Current;
|
||||
ExceptionInfo.Current = null;
|
||||
|
||||
-9
@@ -7,13 +7,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: __cdecl crnd::crn_unpacker::~crn_unpacker(void)")]
|
||||
internal static partial class crn_unpacker_Destructor
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
}
|
||||
|
||||
public unsafe static void Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
unchecked
|
||||
{
|
||||
((crnd_crn_unpacker*)@this)->field_0 = 0;
|
||||
@@ -75,10 +70,6 @@ internal static partial class crn_unpacker_Destructor
|
||||
num2 = (nint)ptr2;
|
||||
}
|
||||
static_huffman_data_model_Destructor.Invoke(&((crnd_crn_unpacker*)@this)->field_5);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
-5
@@ -10,12 +10,13 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("void __cdecl crnd::crnd_assert(char const *, char const *, unsigned int)")]
|
||||
internal static partial class crnd_assert
|
||||
{
|
||||
public unsafe static void Invoke(void* pExp, void* pFile, int line)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("char const *")] void* pExp, [NativeType("char const *")] void* pFile, [NativeType("unsigned int")] int line)
|
||||
{
|
||||
InlineArray_512_w3otm9c inlineArray_512_w3otm9c = default(InlineArray_512_w3otm9c);
|
||||
sprintf.Invoke(&inlineArray_512_w3otm9c, String_tghxvvc.__pointer, default(ReadOnlySpan<nint>));
|
||||
crnd_output_debug_string.Invoke(&inlineArray_512_w3otm9c);
|
||||
puts.Invoke(&inlineArray_512_w3otm9c);
|
||||
InlineArray512_SByte inlineArray512_SByte = default(InlineArray512_SByte);
|
||||
sprintf.Invoke(&inlineArray512_SByte, String_tghxvvc.__pointer, default(ReadOnlySpan<nint>));
|
||||
crnd_output_debug_string.Invoke(&inlineArray512_SByte);
|
||||
puts.Invoke(&inlineArray512_SByte);
|
||||
if (crnd_is_debugger_present.Invoke())
|
||||
{
|
||||
crnd_debug_break.Invoke();
|
||||
|
||||
+14
-32
@@ -9,55 +9,37 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("bool __cdecl crnd::crnd_create_segmented_file(void const *, unsigned int, void *, unsigned int)")]
|
||||
internal static partial class crnd_create_segmented_file
|
||||
{
|
||||
public unsafe static bool Invoke(void* pData, int data_size, void* pBase_data, int base_data_size)
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke([NativeType("void const *")] void* pData, [NativeType("unsigned int")] int data_size, [NativeType("void *")] void* pBase_data, [NativeType("unsigned int")] int base_data_size)
|
||||
{
|
||||
bool flag = false;
|
||||
int num = 0;
|
||||
void* ptr = null;
|
||||
int num2 = 0;
|
||||
void* ptr2 = null;
|
||||
void* ptr3 = null;
|
||||
int num3 = 0;
|
||||
void* ptr4 = null;
|
||||
num = base_data_size;
|
||||
ptr = pBase_data;
|
||||
num2 = data_size;
|
||||
ptr2 = pData;
|
||||
unchecked
|
||||
{
|
||||
if (ptr2 == null || (uint)num2 < 62u)
|
||||
if (pData == null || (uint)data_size < 62u)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
ptr3 = crnd_get_header.Invoke(ptr2, num2);
|
||||
if (ptr3 == null)
|
||||
void* ptr = crnd_get_header.Invoke(pData, data_size);
|
||||
if (ptr == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_10) & 1) != 0)
|
||||
if ((crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_10) & 1) != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
num3 = crnd_get_segmented_file_size.Invoke(ptr2, num2);
|
||||
if ((uint)num < (uint)num3)
|
||||
int num = crnd_get_segmented_file_size.Invoke(pData, data_size);
|
||||
if ((uint)base_data_size < (uint)num)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
llvm_memcpy_p0_p0_i64.Invoke(ptr, ptr2, (uint)num3, isVolatile: false);
|
||||
ptr4 = ptr;
|
||||
_4_crn_packed_uint_5xksx5a.Invoke(val: operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr4)->field_10) | 1, @this: &((crnd_crn_header*)ptr4)->field_10);
|
||||
_4_crn_packed_uint_53ytska.Invoke(&((crnd_crn_header*)ptr4)->field_3, num3);
|
||||
_4_crn_packed_uint_5xksx5a.Invoke(val: (ushort)crc16.Invoke(len: operator_unsigned_int_uxo4hgd.Invoke(&((crnd_crn_header*)ptr4)->field_3) - operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr4)->field_1), pBuf: (byte*)ptr + (uint)operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr4)->field_1), crc: 0), @this: &((crnd_crn_header*)ptr4)->field_4);
|
||||
_4_crn_packed_uint_5xksx5a.Invoke(val: (ushort)crc16.Invoke(len: operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr4)->field_1) - (int)((long)(&((crnd_crn_header*)ptr4)->field_3) - (long)ptr4), pBuf: &((crnd_crn_header*)ptr4)->field_3, crc: 0), @this: &((crnd_crn_header*)ptr4)->field_2);
|
||||
int num4;
|
||||
if (crnd_validate_file.Invoke(ptr4, num3, null))
|
||||
{
|
||||
num4 = -1;
|
||||
}
|
||||
else
|
||||
llvm_memcpy_p0_p0_i64.Invoke(pBase_data, pData, (uint)num, isVolatile: false);
|
||||
crn_packed_uint_2_Assignment.Invoke(val: crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)pBase_data)->field_10) | 1, @this: &((crnd_crn_header*)pBase_data)->field_10);
|
||||
crn_packed_uint_4_Assignment.Invoke(&((crnd_crn_header*)pBase_data)->field_3, num);
|
||||
crn_packed_uint_2_Assignment.Invoke(val: (ushort)crc16.Invoke(len: crn_packed_uint_4_ToUInt32.Invoke(&((crnd_crn_header*)pBase_data)->field_3) - crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)pBase_data)->field_1), pBuf: (byte*)pBase_data + (uint)crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)pBase_data)->field_1), crc: 0), @this: &((crnd_crn_header*)pBase_data)->field_4);
|
||||
crn_packed_uint_2_Assignment.Invoke(val: (ushort)crc16.Invoke(len: crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)pBase_data)->field_1) - (int)((long)(&((crnd_crn_header*)pBase_data)->field_3) - (long)pBase_data), pBuf: &((crnd_crn_header*)pBase_data)->field_3, crc: 0), @this: &((crnd_crn_header*)pBase_data)->field_2);
|
||||
if (!crnd_validate_file.Invoke(pBase_data, num, null))
|
||||
{
|
||||
crnd_assert.Invoke(String_2bpyz2d.__pointer, String_yguirrd.__pointer, 2374);
|
||||
num4 = 0;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
+2
-2
@@ -7,9 +7,9 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("unsigned int __cdecl crnd::crnd_crn_format_to_fourcc(enum crn_format)")]
|
||||
internal static partial class crnd_crn_format_to_fourcc
|
||||
{
|
||||
public unsafe static int Invoke(int fmt)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("enum crn_format")] int fmt)
|
||||
{
|
||||
int num = 0;
|
||||
switch (fmt)
|
||||
{
|
||||
case 0:
|
||||
|
||||
+1
@@ -6,6 +6,7 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("void __cdecl crnd::crnd_debug_break(void)")]
|
||||
internal static partial class crnd_debug_break
|
||||
{
|
||||
[return: NativeType("void")]
|
||||
public static void Invoke()
|
||||
{
|
||||
}
|
||||
|
||||
+3
-4
@@ -9,10 +9,9 @@ internal static partial class crnd_default_msize
|
||||
{
|
||||
public unsafe static readonly void* __pointer = PointerIndices.Register((delegate*<void*, void*, long>)(&Invoke));
|
||||
|
||||
public unsafe static long Invoke(void* p, void* pUser_data)
|
||||
[return: NativeType("unsigned __int64")]
|
||||
public unsafe static long Invoke([NativeType("void *")] void* p, [NativeType("void *")] void* pUser_data)
|
||||
{
|
||||
void* ptr = null;
|
||||
ptr = p;
|
||||
return (ptr == null) ? 0L : msize.Invoke(ptr);
|
||||
return (p == null) ? 0L : msize.Invoke(p);
|
||||
}
|
||||
}
|
||||
+23
-30
@@ -9,59 +9,52 @@ internal static partial class crnd_default_realloc
|
||||
{
|
||||
public unsafe static readonly void* __pointer = PointerIndices.Register((delegate*<void*, long, void*, bool, void*, void*>)(&Invoke));
|
||||
|
||||
public unsafe static void* Invoke(void* p, long size, void* pActual_size, bool movable, void* parameter_4)
|
||||
[return: NativeType("void *")]
|
||||
public unsafe static void* Invoke([NativeType("void *")] void* p, [NativeType("unsigned __int64")] long size, [NativeType("unsigned __int64 *")] void* pActual_size, [NativeType("bool")] bool movable, [NativeType("void *")] void* parameter_4)
|
||||
{
|
||||
sbyte b = 0;
|
||||
void* ptr = null;
|
||||
long num = 0L;
|
||||
void* ptr2 = null;
|
||||
void* ptr3 = null;
|
||||
void* ptr4 = null;
|
||||
b = (movable ? ((sbyte)1) : ((sbyte)0));
|
||||
ptr = pActual_size;
|
||||
num = size;
|
||||
ptr2 = p;
|
||||
sbyte b = (movable ? ((sbyte)1) : ((sbyte)0));
|
||||
unchecked
|
||||
{
|
||||
if (ptr2 == null)
|
||||
void* ptr;
|
||||
if (p == null)
|
||||
{
|
||||
ptr3 = malloc.Invoke(num);
|
||||
if (ptr != null)
|
||||
ptr = malloc.Invoke(size);
|
||||
if (pActual_size != null)
|
||||
{
|
||||
*(long*)ptr = ((ptr3 == null) ? 0L : msize.Invoke(ptr3));
|
||||
*(long*)pActual_size = ((ptr == null) ? 0L : msize.Invoke(ptr));
|
||||
}
|
||||
}
|
||||
else if (num == 0L)
|
||||
else if (size == 0L)
|
||||
{
|
||||
free.Invoke(ptr2);
|
||||
ptr3 = null;
|
||||
if (ptr != null)
|
||||
free.Invoke(p);
|
||||
ptr = null;
|
||||
if (pActual_size != null)
|
||||
{
|
||||
*(long*)ptr = 0L;
|
||||
*(long*)pActual_size = 0L;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ptr4 = ptr2;
|
||||
ptr3 = null;
|
||||
if (ptr3 != null)
|
||||
void* ptr2 = p;
|
||||
ptr = null;
|
||||
if (ptr != null)
|
||||
{
|
||||
ptr4 = ptr3;
|
||||
ptr2 = ptr;
|
||||
}
|
||||
else if ((b & 1) == 1)
|
||||
{
|
||||
ptr3 = realloc.Invoke(ptr2, num);
|
||||
if (ptr3 != null)
|
||||
ptr = realloc.Invoke(p, size);
|
||||
if (ptr != null)
|
||||
{
|
||||
ptr4 = ptr3;
|
||||
ptr2 = ptr;
|
||||
}
|
||||
}
|
||||
if (ptr != null)
|
||||
if (pActual_size != null)
|
||||
{
|
||||
*(long*)ptr = msize.Invoke(ptr4);
|
||||
*(long*)pActual_size = msize.Invoke(ptr2);
|
||||
}
|
||||
}
|
||||
return ptr3;
|
||||
return ptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
-27
@@ -8,43 +8,24 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("crnd_delete_array")]
|
||||
internal static partial class crnd_delete_array_nughn5d
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("unsigned int *")] void* p)
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public int field_1;
|
||||
}
|
||||
|
||||
public unsafe static void Invoke(void* p)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = p;
|
||||
unchecked
|
||||
{
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_0 != null)
|
||||
if (p != null)
|
||||
{
|
||||
int field_ = *(int*)((byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_0 + -4);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = field_;
|
||||
int num;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_1 != 0 && startFrame.GetLocalsPointer<LocalVariables>()->field_1 == (*(int*)((byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_0 + -8) ^ -1))
|
||||
{
|
||||
num = -1;
|
||||
}
|
||||
else
|
||||
int num = *(int*)((byte*)p + -4);
|
||||
if (num == 0 || num != (*(int*)((byte*)p + -8) ^ -1))
|
||||
{
|
||||
crnd_assert.Invoke(String_zzvckkc.__pointer, String_yguirrd.__pointer, 347);
|
||||
num = 0;
|
||||
}
|
||||
destruct_array_lrbdoxa.Invoke(n: startFrame.GetLocalsPointer<LocalVariables>()->field_1, p: startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
crnd_free.Invoke((byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_0 + -8);
|
||||
if (ExceptionInfo.Current != null)
|
||||
destruct_array_lrbdoxa.Invoke(p, num);
|
||||
crnd_free.Invoke((byte*)p + -8);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
-27
@@ -8,43 +8,24 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("crnd_delete_array")]
|
||||
internal static partial class crnd_delete_array_rytswyc
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("unsigned short *")] void* p)
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public int field_1;
|
||||
}
|
||||
|
||||
public unsafe static void Invoke(void* p)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = p;
|
||||
unchecked
|
||||
{
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_0 != null)
|
||||
if (p != null)
|
||||
{
|
||||
int field_ = *(int*)((byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_0 + -4);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = field_;
|
||||
int num;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_1 != 0 && startFrame.GetLocalsPointer<LocalVariables>()->field_1 == (*(int*)((byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_0 + -8) ^ -1))
|
||||
{
|
||||
num = -1;
|
||||
}
|
||||
else
|
||||
int num = *(int*)((byte*)p + -4);
|
||||
if (num == 0 || num != (*(int*)((byte*)p + -8) ^ -1))
|
||||
{
|
||||
crnd_assert.Invoke(String_zzvckkc.__pointer, String_yguirrd.__pointer, 347);
|
||||
num = 0;
|
||||
}
|
||||
destruct_array_viasmsc.Invoke(n: startFrame.GetLocalsPointer<LocalVariables>()->field_1, p: startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
crnd_free.Invoke((byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_0 + -8);
|
||||
if (ExceptionInfo.Current != null)
|
||||
destruct_array_viasmsc.Invoke(p, num);
|
||||
crnd_free.Invoke((byte*)p + -8);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
-19
@@ -7,29 +7,20 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("crnd_delete")]
|
||||
internal static partial class crnd_delete_e7rwdhb
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("class crnd::crn_unpacker *")] void* p)
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
}
|
||||
|
||||
public unsafe static void Invoke(void* p)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = p;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_0 != null)
|
||||
if (p == null)
|
||||
{
|
||||
destruct_f77lq2b.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
return;
|
||||
}
|
||||
destruct_f77lq2b.Invoke(p);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
crnd_free.Invoke(p);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
crnd_free.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
}
|
||||
}
|
||||
+10
-19
@@ -7,29 +7,20 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("crnd_delete")]
|
||||
internal static partial class crnd_delete_rldcmnc
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("class crnd::prefix_coding::decoder_tables *")] void* p)
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
}
|
||||
|
||||
public unsafe static void Invoke(void* p)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = p;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_0 != null)
|
||||
if (p == null)
|
||||
{
|
||||
destruct_py7r2pc.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
return;
|
||||
}
|
||||
destruct_py7r2pc.Invoke(p);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
crnd_free.Invoke(p);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
crnd_free.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
}
|
||||
}
|
||||
+13
-25
@@ -7,36 +7,24 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("void __cdecl crnd::crnd_free(void *)")]
|
||||
internal static partial class crnd_free
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("void *")] void* p)
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
}
|
||||
|
||||
public unsafe static void Invoke(void* p)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = p;
|
||||
if (p == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
unchecked
|
||||
{
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_0 != null)
|
||||
if (((int)p & 7) != 0)
|
||||
{
|
||||
crnd_mem_error.Invoke(String_gcwah5d.__pointer);
|
||||
return;
|
||||
}
|
||||
((delegate*<void*, long, void*, bool, void*, void*>)g_pRealloc.Value)(p, 0L, null, true, g_pUser_data.Value);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
if (((int)startFrame.GetLocalsPointer<LocalVariables>()->field_0 & 7) != 0)
|
||||
{
|
||||
crnd_mem_error.Invoke(String_gcwah5d.__pointer);
|
||||
}
|
||||
else
|
||||
{
|
||||
void* value = g_pRealloc.Value;
|
||||
void* value2 = g_pUser_data.Value;
|
||||
((delegate*<void*, long, void*, bool, void*, void*>)value)(startFrame.GetLocalsPointer<LocalVariables>()->field_0, 0L, null, true, value2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -6,7 +6,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("unsigned int __cdecl crnd::crnd_get_bytes_per_dxt_block(enum crn_format)")]
|
||||
internal static partial class crnd_get_bytes_per_dxt_block
|
||||
{
|
||||
public static int Invoke(int fmt)
|
||||
[return: NativeType("unsigned int")]
|
||||
public static int Invoke([NativeType("enum crn_format")] int fmt)
|
||||
{
|
||||
return crnd_get_crn_format_bits_per_texel.Invoke(fmt) << 4 >>> 3;
|
||||
}
|
||||
|
||||
+2
-2
@@ -7,9 +7,9 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("unsigned int __cdecl crnd::crnd_get_crn_format_bits_per_texel(enum crn_format)")]
|
||||
internal static partial class crnd_get_crn_format_bits_per_texel
|
||||
{
|
||||
public unsafe static int Invoke(int fmt)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("enum crn_format")] int fmt)
|
||||
{
|
||||
int num = 0;
|
||||
switch (fmt)
|
||||
{
|
||||
case 0:
|
||||
|
||||
+8
-16
@@ -6,34 +6,26 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("bool __cdecl crnd::crnd_get_data(void *, void const **, unsigned int *)")]
|
||||
internal static partial class crnd_get_data
|
||||
{
|
||||
public unsafe static bool Invoke(void* pContext, void* ppData, void* pData_size)
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke([NativeType("void *")] void* pContext, [NativeType("void const **")] void* ppData, [NativeType("unsigned int *")] void* pData_size)
|
||||
{
|
||||
bool flag = false;
|
||||
void* ptr = null;
|
||||
void* ptr2 = null;
|
||||
void* ptr3 = null;
|
||||
void* ptr4 = null;
|
||||
ptr = pData_size;
|
||||
ptr2 = ppData;
|
||||
ptr3 = pContext;
|
||||
if (ptr3 == null)
|
||||
if (pContext == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
ptr4 = ptr3;
|
||||
if (!is_valid.Invoke(ptr4))
|
||||
if (!is_valid.Invoke(pContext))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
unchecked
|
||||
{
|
||||
if (ptr2 != null)
|
||||
if (ppData != null)
|
||||
{
|
||||
*(void**)ptr2 = Get_data.Invoke(ptr4);
|
||||
*(void**)ppData = Get_data.Invoke(pContext);
|
||||
}
|
||||
if (ptr != null)
|
||||
if (pData_size != null)
|
||||
{
|
||||
*(int*)ptr = Get_data_size.Invoke(ptr4);
|
||||
*(int*)pData_size = Get_data_size.Invoke(pContext);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
+4
-7
@@ -6,16 +6,13 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("enum crn_format __cdecl crnd::crnd_get_fundamental_dxt_format(enum crn_format)")]
|
||||
internal static partial class crnd_get_fundamental_dxt_format
|
||||
{
|
||||
public static int Invoke(int fmt)
|
||||
[return: NativeType("enum crn_format")]
|
||||
public static int Invoke([NativeType("enum crn_format")] int fmt)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
num2 = fmt;
|
||||
int num3 = num2;
|
||||
if (num3 == 3 || num3 == 4 || num3 == 5 || num3 == 6)
|
||||
if (fmt == 3 || fmt == 4 || fmt == 5 || fmt == 6)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
return num2;
|
||||
return fmt;
|
||||
}
|
||||
}
|
||||
+6
-12
@@ -7,30 +7,24 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("struct crnd::crn_header const * __cdecl crnd::crnd_get_header(void const *, unsigned int)")]
|
||||
internal static partial class crnd_get_header
|
||||
{
|
||||
public unsafe static void* Invoke(void* pData, int data_size)
|
||||
[return: NativeType("struct crnd::crn_header const *")]
|
||||
public unsafe static void* Invoke([NativeType("void const *")] void* pData, [NativeType("unsigned int")] int data_size)
|
||||
{
|
||||
void* ptr = null;
|
||||
int num = 0;
|
||||
void* ptr2 = null;
|
||||
void* ptr3 = null;
|
||||
num = data_size;
|
||||
ptr2 = pData;
|
||||
unchecked
|
||||
{
|
||||
if (ptr2 == null || (ulong)(uint)num < 74uL)
|
||||
if (pData == null || (ulong)(uint)data_size < 74uL)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
ptr3 = ptr2;
|
||||
if (operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_0) != 18552)
|
||||
if (crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)pData)->field_0) != 18552)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if ((ulong)(uint)operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_1) < 74uL || (uint)num < (uint)operator_unsigned_int_uxo4hgd.Invoke(&((crnd_crn_header*)ptr3)->field_3))
|
||||
if ((ulong)(uint)crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)pData)->field_1) < 74uL || (uint)data_size < (uint)crn_packed_uint_4_ToUInt32.Invoke(&((crnd_crn_header*)pData)->field_3))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return ptr3;
|
||||
return pData;
|
||||
}
|
||||
}
|
||||
}
|
||||
+15
-26
@@ -7,50 +7,39 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("void const * __cdecl crnd::crnd_get_level_data(void const *, unsigned int, unsigned int, unsigned int *)")]
|
||||
internal static partial class crnd_get_level_data
|
||||
{
|
||||
public unsafe static void* Invoke(void* pData, int data_size, int level_index, void* pSize)
|
||||
[return: NativeType("void const *")]
|
||||
public unsafe static void* Invoke([NativeType("void const *")] void* pData, [NativeType("unsigned int")] int data_size, [NativeType("unsigned int")] int level_index, [NativeType("unsigned int *")] void* pSize)
|
||||
{
|
||||
void* ptr = null;
|
||||
void* ptr2 = null;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
void* ptr3 = null;
|
||||
void* ptr4 = null;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
ptr2 = pSize;
|
||||
num = level_index;
|
||||
num2 = data_size;
|
||||
ptr3 = pData;
|
||||
unchecked
|
||||
{
|
||||
if (ptr2 != null)
|
||||
if (pSize != null)
|
||||
{
|
||||
*(int*)ptr2 = 0;
|
||||
*(int*)pSize = 0;
|
||||
}
|
||||
if (ptr3 == null || (uint)num2 < 62u)
|
||||
if (pData == null || (uint)data_size < 62u)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
ptr4 = crnd_get_header.Invoke(ptr3, num2);
|
||||
if (ptr4 == null)
|
||||
void* ptr = crnd_get_header.Invoke(pData, data_size);
|
||||
if (ptr == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if ((uint)num >= (uint)operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr4)->field_7))
|
||||
if ((uint)level_index >= (uint)crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_7))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
num3 = operator_unsigned_int_uxo4hgd.Invoke((byte*)(&((crnd_crn_header*)ptr4)->field_20) + (nint)(uint)num * (nint)sizeof(crnd_crn_packed_uint_0));
|
||||
if (ptr2 != null)
|
||||
int num = crn_packed_uint_4_ToUInt32.Invoke((byte*)(&((crnd_crn_header*)ptr)->field_20) + (nint)(uint)level_index * (nint)sizeof(crnd_crn_packed_uint_jymcebc));
|
||||
if (pSize != null)
|
||||
{
|
||||
num4 = num2;
|
||||
if ((uint)(num + 1) < (uint)operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr4)->field_7))
|
||||
int num2 = data_size;
|
||||
if ((uint)(level_index + 1) < (uint)crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_7))
|
||||
{
|
||||
num4 = operator_unsigned_int_uxo4hgd.Invoke((byte*)(&((crnd_crn_header*)ptr4)->field_20) + (nint)(uint)(num + 1) * (nint)sizeof(crnd_crn_packed_uint_0));
|
||||
num2 = crn_packed_uint_4_ToUInt32.Invoke((byte*)(&((crnd_crn_header*)ptr)->field_20) + (nint)(uint)(level_index + 1) * (nint)sizeof(crnd_crn_packed_uint_jymcebc));
|
||||
}
|
||||
*(int*)ptr2 = num4 - num3;
|
||||
*(int*)pSize = num2 - num;
|
||||
}
|
||||
return (byte*)ptr3 + (uint)num3;
|
||||
return (byte*)pData + (uint)num;
|
||||
}
|
||||
}
|
||||
}
|
||||
+16
-29
@@ -7,50 +7,37 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("bool __cdecl crnd::crnd_get_level_info(void const *, unsigned int, unsigned int, struct crnd::crn_level_info *)")]
|
||||
internal static partial class crnd_get_level_info
|
||||
{
|
||||
public unsafe static bool Invoke(void* pData, int data_size, int level_index, void* pLevel_info)
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke([NativeType("void const *")] void* pData, [NativeType("unsigned int")] int data_size, [NativeType("unsigned int")] int level_index, [NativeType("struct crnd::crn_level_info *")] void* pLevel_info)
|
||||
{
|
||||
bool flag = false;
|
||||
void* ptr = null;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
void* ptr2 = null;
|
||||
void* ptr3 = null;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
ptr = pLevel_info;
|
||||
num = level_index;
|
||||
num2 = data_size;
|
||||
ptr2 = pData;
|
||||
unchecked
|
||||
{
|
||||
if (ptr2 == null || (uint)num2 < 62u || ptr == null)
|
||||
if (pData == null || (uint)data_size < 62u || pLevel_info == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((long)(uint)((crnd_crn_level_info*)ptr)->field_0 != 32L)
|
||||
if ((long)(uint)((crnd_crn_level_info*)pLevel_info)->field_0 != 32L)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
ptr3 = crnd_get_header.Invoke(ptr2, num2);
|
||||
if (ptr3 == null)
|
||||
void* ptr = crnd_get_header.Invoke(pData, data_size);
|
||||
if (ptr == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((uint)num >= (uint)operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_7))
|
||||
if ((uint)level_index >= (uint)crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_7))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
num3 = maximum.Invoke(1, operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_5) >>> num);
|
||||
num4 = maximum.Invoke(1, operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_6) >>> num);
|
||||
((crnd_crn_level_info*)ptr)->field_1 = num3;
|
||||
((crnd_crn_level_info*)ptr)->field_2 = num4;
|
||||
((crnd_crn_level_info*)ptr)->field_3 = operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_8);
|
||||
((crnd_crn_level_info*)ptr)->field_4 = num3 + 3 >>> 2;
|
||||
((crnd_crn_level_info*)ptr)->field_5 = num4 + 3 >>> 2;
|
||||
bool flag2 = ((operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9) != 0) ? (operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9) == 9) : true);
|
||||
_ = flag2;
|
||||
((crnd_crn_level_info*)ptr)->field_6 = InstructionHelper.Select(flag2, 8, 16);
|
||||
((crnd_crn_level_info*)ptr)->field_7 = operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9);
|
||||
int num = maximum.Invoke(1, crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_5) >>> level_index);
|
||||
int num2 = maximum.Invoke(1, crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_6) >>> level_index);
|
||||
((crnd_crn_level_info*)pLevel_info)->field_1 = num;
|
||||
((crnd_crn_level_info*)pLevel_info)->field_2 = num2;
|
||||
((crnd_crn_level_info*)pLevel_info)->field_3 = crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_8);
|
||||
((crnd_crn_level_info*)pLevel_info)->field_4 = num + 3 >>> 2;
|
||||
((crnd_crn_level_info*)pLevel_info)->field_5 = num2 + 3 >>> 2;
|
||||
((crnd_crn_level_info*)pLevel_info)->field_6 = InstructionHelper.Select((crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9) != 0) ? (crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9) == 9) : true, 8, 16);
|
||||
((crnd_crn_level_info*)pLevel_info)->field_7 = crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
+6
-12
@@ -7,27 +7,21 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("unsigned int __cdecl crnd::crnd_get_segmented_file_size(void const *, unsigned int)")]
|
||||
internal static partial class crnd_get_segmented_file_size
|
||||
{
|
||||
public unsafe static int Invoke(void* pData, int data_size)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke([NativeType("void const *")] void* pData, [NativeType("unsigned int")] int data_size)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
void* ptr = null;
|
||||
void* ptr2 = null;
|
||||
int num3 = 0;
|
||||
num2 = data_size;
|
||||
ptr = pData;
|
||||
unchecked
|
||||
{
|
||||
if (ptr == null || (uint)num2 < 62u)
|
||||
if (pData == null || (uint)data_size < 62u)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
ptr2 = crnd_get_header.Invoke(ptr, num2);
|
||||
if (ptr2 == null)
|
||||
void* ptr = crnd_get_header.Invoke(pData, data_size);
|
||||
if (ptr == null)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return maximum.Invoke(maximum.Invoke(maximum.Invoke(maximum.Invoke(maximum.Invoke(operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr2)->field_1), operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr2)->field_14.field_0) + operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr2)->field_14.field_1)), operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr2)->field_15.field_0) + operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr2)->field_15.field_1)), operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr2)->field_16.field_0) + operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr2)->field_16.field_1)), operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr2)->field_17.field_0) + operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr2)->field_17.field_1)), operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr2)->field_19) + operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr2)->field_18));
|
||||
return maximum.Invoke(maximum.Invoke(maximum.Invoke(maximum.Invoke(maximum.Invoke(crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_1), crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_14.field_0) + crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_14.field_1)), crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_15.field_0) + crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_15.field_1)), crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_16.field_0) + crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_16.field_1)), crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_17.field_0) + crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_17.field_1)), crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_19) + crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_18));
|
||||
}
|
||||
}
|
||||
}
|
||||
+14
-23
@@ -7,41 +7,32 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("bool __cdecl crnd::crnd_get_texture_info(void const *, unsigned int, struct crnd::crn_texture_info *)")]
|
||||
internal static partial class crnd_get_texture_info
|
||||
{
|
||||
public unsafe static bool Invoke(void* pData, int data_size, void* pInfo)
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke([NativeType("void const *")] void* pData, [NativeType("unsigned int")] int data_size, [NativeType("struct crnd::crn_texture_info *")] void* pInfo)
|
||||
{
|
||||
bool flag = false;
|
||||
void* ptr = null;
|
||||
int num = 0;
|
||||
void* ptr2 = null;
|
||||
void* ptr3 = null;
|
||||
ptr = pInfo;
|
||||
num = data_size;
|
||||
ptr2 = pData;
|
||||
unchecked
|
||||
{
|
||||
if (ptr2 == null || (ulong)(uint)num < 74uL || ptr == null)
|
||||
if (pData == null || (ulong)(uint)data_size < 74uL || pInfo == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((long)(uint)((crnd_crn_texture_info*)ptr)->field_0 != 36L)
|
||||
if ((long)(uint)((crnd_crn_texture_info*)pInfo)->field_0 != 36L)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
ptr3 = crnd_get_header.Invoke(ptr2, num);
|
||||
if (ptr3 == null)
|
||||
void* ptr = crnd_get_header.Invoke(pData, data_size);
|
||||
if (ptr == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
((crnd_crn_texture_info*)ptr)->field_1 = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_5);
|
||||
((crnd_crn_texture_info*)ptr)->field_2 = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_6);
|
||||
((crnd_crn_texture_info*)ptr)->field_3 = operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_7);
|
||||
((crnd_crn_texture_info*)ptr)->field_4 = operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_8);
|
||||
((crnd_crn_texture_info*)ptr)->field_8 = operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9);
|
||||
bool flag2 = ((operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9) == 0) ? true : ((operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9) == 9) ? true : ((operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9) == 10) ? true : ((operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9) != 11) ? (operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9) == 13) : true))));
|
||||
_ = flag2;
|
||||
((crnd_crn_texture_info*)ptr)->field_5 = InstructionHelper.Select(flag2, 8, 16);
|
||||
((crnd_crn_texture_info*)ptr)->field_6 = operator_unsigned_int_uxo4hgd.Invoke(&((crnd_crn_header*)ptr3)->field_12);
|
||||
((crnd_crn_texture_info*)ptr)->field_7 = operator_unsigned_int_uxo4hgd.Invoke(&((crnd_crn_header*)ptr3)->field_13);
|
||||
((crnd_crn_texture_info*)pInfo)->field_1 = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_5);
|
||||
((crnd_crn_texture_info*)pInfo)->field_2 = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_6);
|
||||
((crnd_crn_texture_info*)pInfo)->field_3 = crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_7);
|
||||
((crnd_crn_texture_info*)pInfo)->field_4 = crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_8);
|
||||
((crnd_crn_texture_info*)pInfo)->field_8 = crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9);
|
||||
((crnd_crn_texture_info*)pInfo)->field_5 = InstructionHelper.Select((crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9) == 0) ? true : ((crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9) == 9) ? true : ((crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9) == 10) ? true : ((crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9) != 11) ? (crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9) == 13) : true))), 8, 16);
|
||||
((crnd_crn_texture_info*)pInfo)->field_6 = crn_packed_uint_4_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_12);
|
||||
((crnd_crn_texture_info*)pInfo)->field_7 = crn_packed_uint_4_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_13);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -6,6 +6,7 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("bool __cdecl crnd::crnd_is_debugger_present(void)")]
|
||||
internal static partial class crnd_is_debugger_present
|
||||
{
|
||||
[return: NativeType("bool")]
|
||||
public static bool Invoke()
|
||||
{
|
||||
return false;
|
||||
|
||||
+22
-43
@@ -9,81 +9,60 @@ internal static partial class crnd_malloc
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public unsafe void* field_1;
|
||||
|
||||
public long field_2;
|
||||
|
||||
public long field_3;
|
||||
|
||||
public unsafe void* field_4;
|
||||
public long field_0;
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(long size, void* pActual_size)
|
||||
[return: NativeType("void *")]
|
||||
public unsafe static void* Invoke([NativeType("unsigned __int64")] long size, [NativeType("unsigned __int64 *")] void* pActual_size)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = 0L;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0L;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = pActual_size;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = size;
|
||||
LocalVariables* localsPointer = startFrame.GetLocalsPointer<LocalVariables>();
|
||||
localsPointer->field_0 = 0L;
|
||||
unchecked
|
||||
{
|
||||
long field_ = (startFrame.GetLocalsPointer<LocalVariables>()->field_2 + 4L - 1L) & -4L;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = field_;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_2 == 0L)
|
||||
long num = (size + 4L - 1L) & -4L;
|
||||
if (num == 0L)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = 4L;
|
||||
num = 4L;
|
||||
}
|
||||
if ((ulong)startFrame.GetLocalsPointer<LocalVariables>()->field_2 > 2147418112uL)
|
||||
void* ptr;
|
||||
if ((ulong)num > 2147418112uL)
|
||||
{
|
||||
crnd_mem_error.Invoke(String_ypy7scc.__pointer);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
ptr = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
long field_2 = startFrame.GetLocalsPointer<LocalVariables>()->field_2;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = field_2;
|
||||
localsPointer->field_0 = num;
|
||||
void* value = g_pRealloc.Value;
|
||||
void* value2 = g_pUser_data.Value;
|
||||
void* field_3 = ((delegate*<void*, long, long*, bool, void*, void*>)value)(null, startFrame.GetLocalsPointer<LocalVariables>()->field_2, &startFrame.GetLocalsPointer<LocalVariables>()->field_3, true, value2);
|
||||
void* ptr2 = ((delegate*<void*, long, long*, bool, void*, void*>)value)(null, num, &localsPointer->field_0, true, value2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = field_3;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_1 != null)
|
||||
void* ptr3 = ptr2;
|
||||
if (pActual_size != null)
|
||||
{
|
||||
long field_4 = startFrame.GetLocalsPointer<LocalVariables>()->field_3;
|
||||
*(long*)startFrame.GetLocalsPointer<LocalVariables>()->field_1 = field_4;
|
||||
*(long*)pActual_size = localsPointer->field_0;
|
||||
}
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_4 == null || (ulong)startFrame.GetLocalsPointer<LocalVariables>()->field_3 < (ulong)startFrame.GetLocalsPointer<LocalVariables>()->field_2)
|
||||
if (ptr3 == null || (ulong)localsPointer->field_0 < (ulong)num)
|
||||
{
|
||||
crnd_mem_error.Invoke(String_xewaojb.__pointer);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
ptr = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
int num;
|
||||
if (((int)startFrame.GetLocalsPointer<LocalVariables>()->field_4 & 7) == 0)
|
||||
{
|
||||
num = -1;
|
||||
}
|
||||
else
|
||||
if (((int)ptr3 & 7) != 0)
|
||||
{
|
||||
crnd_assert.Invoke(String_42humaa.__pointer, String_yguirrd.__pointer, 2017);
|
||||
num = 0;
|
||||
}
|
||||
void* field_5 = startFrame.GetLocalsPointer<LocalVariables>()->field_4;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_5;
|
||||
ptr = ptr3;
|
||||
}
|
||||
}
|
||||
void* field_6 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
void* result = ptr;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_6;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -7,7 +7,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("void __cdecl crnd::crnd_mem_error(char const *)")]
|
||||
internal static partial class crnd_mem_error
|
||||
{
|
||||
public unsafe static void Invoke(void* p_msg)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("char const *")] void* p_msg)
|
||||
{
|
||||
crnd_assert.Invoke(p_msg, String_yguirrd.__pointer, 1993);
|
||||
}
|
||||
|
||||
+12
-30
@@ -7,44 +7,26 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("unsigned __int64 __cdecl crnd::crnd_msize(void *)")]
|
||||
internal static partial class crnd_msize
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("unsigned __int64")]
|
||||
public unsafe static long Invoke([NativeType("void *")] void* p)
|
||||
{
|
||||
public long field_0;
|
||||
|
||||
public unsafe void* field_1;
|
||||
}
|
||||
|
||||
public unsafe static long Invoke(void* p)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = 0L;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = p;
|
||||
if (p == null)
|
||||
{
|
||||
return 0L;
|
||||
}
|
||||
unchecked
|
||||
{
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_1 == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = 0L;
|
||||
}
|
||||
else if (((int)startFrame.GetLocalsPointer<LocalVariables>()->field_1 & 7) != 0)
|
||||
if (((int)p & 7) != 0)
|
||||
{
|
||||
crnd_mem_error.Invoke(String_zijibvd.__pointer);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = 0L;
|
||||
return 0L;
|
||||
}
|
||||
else
|
||||
long result = ((delegate*<void*, void*, long>)g_pMSize.Value)(p, g_pUser_data.Value);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
void* value = g_pMSize.Value;
|
||||
void* value2 = g_pUser_data.Value;
|
||||
long field_ = ((delegate*<void*, void*, long>)value)(startFrame.GetLocalsPointer<LocalVariables>()->field_1, value2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return 0L;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_;
|
||||
return 0L;
|
||||
}
|
||||
long field_2 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_2;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
-22
@@ -7,35 +7,19 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("crnd_new")]
|
||||
internal static partial class crnd_new_9bg4xgd
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public unsafe void* field_1;
|
||||
}
|
||||
|
||||
[return: NativeType("class crnd::prefix_coding::decoder_tables *")]
|
||||
public unsafe static void* Invoke()
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = null;
|
||||
void* field_ = crnd_malloc.Invoke(192L, null);
|
||||
void* ptr = crnd_malloc.Invoke(192L, null);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = field_;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_1 == null)
|
||||
void* ptr2 = ptr;
|
||||
if (ptr2 == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
void* field_2 = construct_e5fhx3a.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_1);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_2;
|
||||
}
|
||||
void* field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_3;
|
||||
return construct_e5fhx3a.Invoke(ptr2);
|
||||
}
|
||||
}
|
||||
+14
-39
@@ -7,56 +7,31 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("crnd_new_array")]
|
||||
internal static partial class crnd_new_array_linsntd
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("unsigned int *")]
|
||||
public unsafe static void* Invoke([NativeType("unsigned int")] int num)
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public int field_1;
|
||||
|
||||
public unsafe void* field_2;
|
||||
|
||||
public unsafe void* field_3;
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(int num)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = num;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_1 == 0)
|
||||
int num2 = num;
|
||||
if (num2 == 0)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 1;
|
||||
num2 = 1;
|
||||
}
|
||||
unchecked
|
||||
{
|
||||
void* field_ = crnd_malloc.Invoke(8L + 4L * (long)(uint)startFrame.GetLocalsPointer<LocalVariables>()->field_1, null);
|
||||
void* ptr = crnd_malloc.Invoke(8L + 4L * (long)(uint)num2, null);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = field_;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_2 == null)
|
||||
void* ptr2 = ptr;
|
||||
if (ptr2 == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
void* field_2 = (byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_2 + 8;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = field_2;
|
||||
int field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_1;
|
||||
*(int*)((byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_3 + -4) = field_3;
|
||||
int num2 = startFrame.GetLocalsPointer<LocalVariables>()->field_1 ^ -1;
|
||||
*(int*)((byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_3 + -8) = num2;
|
||||
construct_array_rijpqya.Invoke(n: startFrame.GetLocalsPointer<LocalVariables>()->field_1, p: startFrame.GetLocalsPointer<LocalVariables>()->field_3);
|
||||
void* field_4 = startFrame.GetLocalsPointer<LocalVariables>()->field_3;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_4;
|
||||
}
|
||||
void* field_5 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_5;
|
||||
void* ptr3 = (byte*)ptr2 + 8;
|
||||
*(int*)((byte*)ptr3 + -4) = num2;
|
||||
*(int*)((byte*)ptr3 + -8) = num2 ^ -1;
|
||||
construct_array_rijpqya.Invoke(ptr3, num2);
|
||||
return ptr3;
|
||||
}
|
||||
}
|
||||
}
|
||||
+14
-39
@@ -7,56 +7,31 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("crnd_new_array")]
|
||||
internal static partial class crnd_new_array_ovofsdb
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("unsigned short *")]
|
||||
public unsafe static void* Invoke([NativeType("unsigned int")] int num)
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public int field_1;
|
||||
|
||||
public unsafe void* field_2;
|
||||
|
||||
public unsafe void* field_3;
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(int num)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = num;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_1 == 0)
|
||||
int num2 = num;
|
||||
if (num2 == 0)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 1;
|
||||
num2 = 1;
|
||||
}
|
||||
unchecked
|
||||
{
|
||||
void* field_ = crnd_malloc.Invoke(8L + 2L * (long)(uint)startFrame.GetLocalsPointer<LocalVariables>()->field_1, null);
|
||||
void* ptr = crnd_malloc.Invoke(8L + 2L * (long)(uint)num2, null);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = field_;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_2 == null)
|
||||
void* ptr2 = ptr;
|
||||
if (ptr2 == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
void* field_2 = (byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_2 + 8;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = field_2;
|
||||
int field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_1;
|
||||
*(int*)((byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_3 + -4) = field_3;
|
||||
int num2 = startFrame.GetLocalsPointer<LocalVariables>()->field_1 ^ -1;
|
||||
*(int*)((byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_3 + -8) = num2;
|
||||
construct_array_pri7s5c.Invoke(n: startFrame.GetLocalsPointer<LocalVariables>()->field_1, p: startFrame.GetLocalsPointer<LocalVariables>()->field_3);
|
||||
void* field_4 = startFrame.GetLocalsPointer<LocalVariables>()->field_3;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_4;
|
||||
}
|
||||
void* field_5 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_5;
|
||||
void* ptr3 = (byte*)ptr2 + 8;
|
||||
*(int*)((byte*)ptr3 + -4) = num2;
|
||||
*(int*)((byte*)ptr3 + -8) = num2 ^ -1;
|
||||
construct_array_pri7s5c.Invoke(ptr3, num2);
|
||||
return ptr3;
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
-29
@@ -7,43 +7,24 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("crnd_new")]
|
||||
internal static partial class crnd_new_vzd3zqa
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("class crnd::prefix_coding::decoder_tables *")]
|
||||
public unsafe static void* Invoke([NativeType("class crnd::prefix_coding::decoder_tables const &")] void* init)
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public unsafe void* field_1;
|
||||
|
||||
public unsafe void* field_2;
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(void* init)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = init;
|
||||
void* field_ = crnd_malloc.Invoke(192L, null);
|
||||
void* ptr = crnd_malloc.Invoke(192L, null);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = field_;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_2 == null)
|
||||
void* ptr2 = ptr;
|
||||
if (ptr2 == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
return null;
|
||||
}
|
||||
else
|
||||
void* result = construct_zybj4yc.Invoke(ptr2, init);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
void* field_2 = construct_zybj4yc.Invoke(init: startFrame.GetLocalsPointer<LocalVariables>()->field_1, p: startFrame.GetLocalsPointer<LocalVariables>()->field_2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_2;
|
||||
return null;
|
||||
}
|
||||
void* field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_3;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+9
-24
@@ -7,39 +7,24 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("crnd_new")]
|
||||
internal static partial class crnd_new_xzix9sb
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public unsafe void* field_1;
|
||||
}
|
||||
|
||||
[return: NativeType("class crnd::crn_unpacker *")]
|
||||
public unsafe static void* Invoke()
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = null;
|
||||
void* field_ = crnd_malloc.Invoke(392L, null);
|
||||
void* ptr = crnd_malloc.Invoke(392L, null);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = field_;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_1 == null)
|
||||
void* ptr2 = ptr;
|
||||
if (ptr2 == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
return null;
|
||||
}
|
||||
else
|
||||
void* result = construct_bzfae7a.Invoke(ptr2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
void* field_2 = construct_bzfae7a.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_1);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_2;
|
||||
return null;
|
||||
}
|
||||
void* field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_3;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -6,7 +6,8 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("void __cdecl crnd::crnd_output_debug_string(char const *)")]
|
||||
internal static partial class crnd_output_debug_string
|
||||
{
|
||||
public unsafe static void Invoke(void* p)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("char const *")] void* p)
|
||||
{
|
||||
}
|
||||
}
|
||||
+20
-49
@@ -9,82 +9,53 @@ internal static partial class crnd_realloc
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public sbyte field_1;
|
||||
|
||||
public unsafe void* field_2;
|
||||
|
||||
public long field_3;
|
||||
|
||||
public unsafe void* field_4;
|
||||
|
||||
public long field_5;
|
||||
|
||||
public unsafe void* field_6;
|
||||
public long field_0;
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(void* p, long size, void* pActual_size, bool movable)
|
||||
[return: NativeType("void *")]
|
||||
public unsafe static void* Invoke([NativeType("void *")] void* p, [NativeType("unsigned __int64")] long size, [NativeType("unsigned __int64 *")] void* pActual_size, [NativeType("bool")] bool movable)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0L;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = 0L;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = (movable ? ((sbyte)1) : ((sbyte)0));
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = pActual_size;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = size;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = p;
|
||||
LocalVariables* localsPointer = startFrame.GetLocalsPointer<LocalVariables>();
|
||||
localsPointer->field_0 = 0L;
|
||||
sbyte b = (movable ? ((sbyte)1) : ((sbyte)0));
|
||||
unchecked
|
||||
{
|
||||
if (((int)startFrame.GetLocalsPointer<LocalVariables>()->field_4 & 7) != 0)
|
||||
void* ptr;
|
||||
if (((int)p & 7) != 0)
|
||||
{
|
||||
crnd_mem_error.Invoke(String_ifury7b.__pointer);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
ptr = null;
|
||||
}
|
||||
else if ((ulong)startFrame.GetLocalsPointer<LocalVariables>()->field_3 > 2147418112uL)
|
||||
else if ((ulong)size > 2147418112uL)
|
||||
{
|
||||
crnd_mem_error.Invoke(String_ypy7scc.__pointer);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
ptr = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
long field_ = startFrame.GetLocalsPointer<LocalVariables>()->field_3;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = field_;
|
||||
localsPointer->field_0 = size;
|
||||
void* value = g_pRealloc.Value;
|
||||
void* value2 = g_pUser_data.Value;
|
||||
bool flag = (startFrame.GetLocalsPointer<LocalVariables>()->field_1 & 1) == 1;
|
||||
long field_2 = startFrame.GetLocalsPointer<LocalVariables>()->field_3;
|
||||
void* field_3 = ((delegate*<void*, long, long*, bool, void*, void*>)value)(startFrame.GetLocalsPointer<LocalVariables>()->field_4, field_2, &startFrame.GetLocalsPointer<LocalVariables>()->field_5, flag, value2);
|
||||
void* ptr2 = ((delegate*<void*, long, long*, bool, void*, void*>)value)(p, size, &localsPointer->field_0, (b & 1) == 1, value2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = field_3;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_2 != null)
|
||||
void* ptr3 = ptr2;
|
||||
if (pActual_size != null)
|
||||
{
|
||||
long field_4 = startFrame.GetLocalsPointer<LocalVariables>()->field_5;
|
||||
*(long*)startFrame.GetLocalsPointer<LocalVariables>()->field_2 = field_4;
|
||||
*(long*)pActual_size = localsPointer->field_0;
|
||||
}
|
||||
int num;
|
||||
if (((int)startFrame.GetLocalsPointer<LocalVariables>()->field_6 & 7) == 0)
|
||||
{
|
||||
num = -1;
|
||||
}
|
||||
else
|
||||
if (((int)ptr3 & 7) != 0)
|
||||
{
|
||||
crnd_assert.Invoke(String_42humaa.__pointer, String_yguirrd.__pointer, 2039);
|
||||
num = 0;
|
||||
}
|
||||
void* field_5 = startFrame.GetLocalsPointer<LocalVariables>()->field_6;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_5;
|
||||
ptr = ptr3;
|
||||
}
|
||||
void* field_6 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
void* result = ptr;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_6;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
-11
@@ -7,15 +7,10 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("void __cdecl crnd::crnd_set_memory_callbacks(void * (__cdecl *)(void *, unsigned __int64, unsigned __int64 *, bool, void *), unsigned __int64 (__cdecl *)(void *, void *), void *)")]
|
||||
internal static partial class crnd_set_memory_callbacks
|
||||
{
|
||||
public unsafe static void Invoke(void* pRealloc, void* pMSize, void* pUser_data)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("void * (__cdecl *)(void *, unsigned __int64, unsigned __int64 *, bool, void *)")] void* pRealloc, [NativeType("unsigned __int64 (__cdecl *)(void *, void *)")] void* pMSize, [NativeType("void *")] void* pUser_data)
|
||||
{
|
||||
void* ptr = null;
|
||||
void* ptr2 = null;
|
||||
void* ptr3 = null;
|
||||
ptr = pUser_data;
|
||||
ptr2 = pMSize;
|
||||
ptr3 = pRealloc;
|
||||
if (ptr3 == null || ptr2 == null)
|
||||
if (pRealloc == null || pMSize == null)
|
||||
{
|
||||
g_pRealloc.Value = crnd_default_realloc.__pointer;
|
||||
g_pMSize.Value = crnd_default_msize.__pointer;
|
||||
@@ -23,9 +18,9 @@ internal static partial class crnd_set_memory_callbacks
|
||||
}
|
||||
else
|
||||
{
|
||||
g_pRealloc.Value = ptr3;
|
||||
g_pMSize.Value = ptr2;
|
||||
g_pUser_data.Value = ptr;
|
||||
g_pRealloc.Value = pRealloc;
|
||||
g_pMSize.Value = pMSize;
|
||||
g_pUser_data.Value = pUser_data;
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-8
@@ -8,17 +8,14 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[CleanName("crnd_trace")]
|
||||
internal static partial class crnd_trace_5g37v2a
|
||||
{
|
||||
public unsafe static void Invoke(void* pFmt, void* args)
|
||||
[return: NativeType("void")]
|
||||
public unsafe static void Invoke([NativeType("char const *")] void* pFmt, [NativeType("char *")] void* args)
|
||||
{
|
||||
void* ptr = null;
|
||||
void* ptr2 = null;
|
||||
InlineArray_512_w3otm9c inlineArray_512_w3otm9c = default(InlineArray_512_w3otm9c);
|
||||
ptr = args;
|
||||
ptr2 = pFmt;
|
||||
InlineArray512_SByte inlineArray512_SByte = default(InlineArray512_SByte);
|
||||
if (crnd_is_debugger_present.Invoke())
|
||||
{
|
||||
vsprintf.Invoke(&inlineArray_512_w3otm9c, ptr2, ptr);
|
||||
crnd_output_debug_string.Invoke(&inlineArray_512_w3otm9c);
|
||||
vsprintf.Invoke(&inlineArray512_SByte, pFmt, args);
|
||||
crnd_output_debug_string.Invoke(&inlineArray512_SByte);
|
||||
}
|
||||
}
|
||||
}
|
||||
+23
-53
@@ -6,67 +6,37 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("void * __cdecl crnd::crnd_unpack_begin(void const *, unsigned int)")]
|
||||
internal static partial class crnd_unpack_begin
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("void *")]
|
||||
public unsafe static void* Invoke([NativeType("void const *")] void* pData, [NativeType("unsigned int")] int data_size)
|
||||
{
|
||||
public unsafe void* field_0;
|
||||
|
||||
public int field_1;
|
||||
|
||||
public unsafe void* field_2;
|
||||
|
||||
public unsafe void* field_3;
|
||||
}
|
||||
|
||||
public unsafe static void* Invoke(void* pData, int data_size)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = data_size;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = pData;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_2 == null || unchecked((uint)startFrame.GetLocalsPointer<LocalVariables>()->field_1) < 62u)
|
||||
if (pData == null || unchecked((uint)data_size) < 62u)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
return null;
|
||||
}
|
||||
else
|
||||
void* ptr = crnd_new_xzix9sb.Invoke();
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
void* field_ = crnd_new_xzix9sb.Invoke();
|
||||
return null;
|
||||
}
|
||||
void* ptr2 = ptr;
|
||||
if (ptr2 == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
bool flag = init_lqqdgrc.Invoke(ptr2, pData, data_size);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (!flag)
|
||||
{
|
||||
crnd_delete_e7rwdhb.Invoke(ptr2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = field_;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_3 == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
bool flag = init_lqqdgrc.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_3, data_size: startFrame.GetLocalsPointer<LocalVariables>()->field_1, pData: startFrame.GetLocalsPointer<LocalVariables>()->field_2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (!flag)
|
||||
{
|
||||
crnd_delete_e7rwdhb.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_3);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
void* field_2 = startFrame.GetLocalsPointer<LocalVariables>()->field_3;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_2;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
void* field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_3;
|
||||
return ptr2;
|
||||
}
|
||||
}
|
||||
+12
-36
@@ -6,46 +6,22 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("bool __cdecl crnd::crnd_unpack_end(void *)")]
|
||||
internal static partial class crnd_unpack_end
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke([NativeType("void *")] void* pContext)
|
||||
{
|
||||
public bool field_0;
|
||||
|
||||
public unsafe void* field_1;
|
||||
|
||||
public unsafe void* field_2;
|
||||
}
|
||||
|
||||
public unsafe static bool Invoke(void* pContext)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = pContext;
|
||||
if (startFrame.GetLocalsPointer<LocalVariables>()->field_1 == null)
|
||||
if (pContext == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
if (!is_valid.Invoke(pContext))
|
||||
{
|
||||
void* field_ = startFrame.GetLocalsPointer<LocalVariables>()->field_1;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = field_;
|
||||
if (!is_valid.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_2))
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
crnd_delete_e7rwdhb.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_2);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
bool field_2 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_2;
|
||||
crnd_delete_e7rwdhb.Invoke(pContext);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
+12
-52
@@ -6,62 +6,22 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("bool __cdecl crnd::crnd_unpack_level(void *, void **, unsigned int, unsigned int, unsigned int)")]
|
||||
internal static partial class crnd_unpack_level
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke([NativeType("void *")] void* pContext, [NativeType("void **")] void* pDst, [NativeType("unsigned int")] int dst_size_in_bytes, [NativeType("unsigned int")] int row_pitch_in_bytes, [NativeType("unsigned int")] int level_index)
|
||||
{
|
||||
public bool field_0;
|
||||
|
||||
public int field_1;
|
||||
|
||||
public int field_2;
|
||||
|
||||
public int field_3;
|
||||
|
||||
public unsafe void* field_4;
|
||||
|
||||
public unsafe void* field_5;
|
||||
|
||||
public unsafe void* field_6;
|
||||
}
|
||||
|
||||
public unsafe static bool Invoke(void* pContext, void* pDst, int dst_size_in_bytes, int row_pitch_in_bytes, int level_index)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = level_index;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = row_pitch_in_bytes;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = dst_size_in_bytes;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = pDst;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = pContext;
|
||||
if (unchecked(startFrame.GetLocalsPointer<LocalVariables>()->field_5 == null || startFrame.GetLocalsPointer<LocalVariables>()->field_4 == null || (uint)startFrame.GetLocalsPointer<LocalVariables>()->field_3 < 8u || (uint)startFrame.GetLocalsPointer<LocalVariables>()->field_1 >= 16u))
|
||||
if (unchecked(pContext == null || pDst == null || (uint)dst_size_in_bytes < 8u || (uint)level_index >= 16u))
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
if (!is_valid.Invoke(pContext))
|
||||
{
|
||||
void* field_ = startFrame.GetLocalsPointer<LocalVariables>()->field_5;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = field_;
|
||||
if (!is_valid.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_6))
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
bool field_2 = unpack_level_cvfjdga.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_6, level_index: startFrame.GetLocalsPointer<LocalVariables>()->field_1, row_pitch_in_bytes: startFrame.GetLocalsPointer<LocalVariables>()->field_2, dst_size_in_bytes: startFrame.GetLocalsPointer<LocalVariables>()->field_3, pDst: startFrame.GetLocalsPointer<LocalVariables>()->field_4);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_2;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
bool field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_3;
|
||||
bool result = unpack_level_cvfjdga.Invoke(pContext, pDst, dst_size_in_bytes, row_pitch_in_bytes, level_index);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+12
-60
@@ -6,70 +6,22 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("bool __cdecl crnd::crnd_unpack_level_segmented(void *, void const *, unsigned int, void **, unsigned int, unsigned int, unsigned int)")]
|
||||
internal static partial class crnd_unpack_level_segmented
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke([NativeType("void *")] void* pContext, [NativeType("void const *")] void* pSrc, [NativeType("unsigned int")] int src_size_in_bytes, [NativeType("void **")] void* pDst, [NativeType("unsigned int")] int dst_size_in_bytes, [NativeType("unsigned int")] int row_pitch_in_bytes, [NativeType("unsigned int")] int level_index)
|
||||
{
|
||||
public bool field_0;
|
||||
|
||||
public int field_1;
|
||||
|
||||
public int field_2;
|
||||
|
||||
public int field_3;
|
||||
|
||||
public unsafe void* field_4;
|
||||
|
||||
public int field_5;
|
||||
|
||||
public unsafe void* field_6;
|
||||
|
||||
public unsafe void* field_7;
|
||||
|
||||
public unsafe void* field_8;
|
||||
}
|
||||
|
||||
public unsafe static bool Invoke(void* pContext, void* pSrc, int src_size_in_bytes, void* pDst, int dst_size_in_bytes, int row_pitch_in_bytes, int level_index)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_8 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = level_index;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = row_pitch_in_bytes;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = dst_size_in_bytes;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = pDst;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = src_size_in_bytes;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = pSrc;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = pContext;
|
||||
if (unchecked(startFrame.GetLocalsPointer<LocalVariables>()->field_7 == null || startFrame.GetLocalsPointer<LocalVariables>()->field_6 == null || startFrame.GetLocalsPointer<LocalVariables>()->field_4 == null || (uint)startFrame.GetLocalsPointer<LocalVariables>()->field_3 < 8u || (uint)startFrame.GetLocalsPointer<LocalVariables>()->field_1 >= 16u))
|
||||
if (unchecked(pContext == null || pSrc == null || pDst == null || (uint)dst_size_in_bytes < 8u || (uint)level_index >= 16u))
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
if (!is_valid.Invoke(pContext))
|
||||
{
|
||||
void* field_ = startFrame.GetLocalsPointer<LocalVariables>()->field_7;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_8 = field_;
|
||||
if (!is_valid.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_8))
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
bool field_2 = unpack_level_zjb72ec.Invoke(startFrame.GetLocalsPointer<LocalVariables>()->field_8, level_index: startFrame.GetLocalsPointer<LocalVariables>()->field_1, row_pitch_in_bytes: startFrame.GetLocalsPointer<LocalVariables>()->field_2, dst_size_in_bytes: startFrame.GetLocalsPointer<LocalVariables>()->field_3, pDst: startFrame.GetLocalsPointer<LocalVariables>()->field_4, src_size_in_bytes: startFrame.GetLocalsPointer<LocalVariables>()->field_5, pSrc: startFrame.GetLocalsPointer<LocalVariables>()->field_6);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = field_2;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
bool field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_3;
|
||||
bool result = unpack_level_zjb72ec.Invoke(pContext, pSrc, src_size_in_bytes, pDst, dst_size_in_bytes, row_pitch_in_bytes, level_index);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+31
-42
@@ -8,88 +8,77 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("bool __cdecl crnd::crnd_validate_file(void const *, unsigned int, struct crnd::crn_file_info *)")]
|
||||
internal static partial class crnd_validate_file
|
||||
{
|
||||
public unsafe static bool Invoke(void* pData, int data_size, void* pFile_info)
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke([NativeType("void const *")] void* pData, [NativeType("unsigned int")] int data_size, [NativeType("struct crnd::crn_file_info *")] void* pFile_info)
|
||||
{
|
||||
bool flag = false;
|
||||
void* ptr = null;
|
||||
int num = 0;
|
||||
void* ptr2 = null;
|
||||
void* ptr3 = null;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
int num5 = 0;
|
||||
ptr = pFile_info;
|
||||
num = data_size;
|
||||
ptr2 = pData;
|
||||
unchecked
|
||||
{
|
||||
if (ptr != null)
|
||||
if (pFile_info != null)
|
||||
{
|
||||
if ((long)(uint)((crnd_crn_file_info*)ptr)->field_0 != 104L)
|
||||
if ((long)(uint)((crnd_crn_file_info*)pFile_info)->field_0 != 104L)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
llvm_memset_p0_i64.Invoke(&((crnd_crn_file_info*)ptr)->field_0 + 1, 0, 100L, isVolatile: false);
|
||||
llvm_memset_p0_i64.Invoke(&((crnd_crn_file_info*)pFile_info)->field_0 + 1, 0, 100L, isVolatile: false);
|
||||
}
|
||||
if (ptr2 == null || (uint)num < 62u)
|
||||
if (pData == null || (uint)data_size < 62u)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
ptr3 = crnd_get_header.Invoke(ptr2, num);
|
||||
if (ptr3 == null)
|
||||
void* ptr = crnd_get_header.Invoke(pData, data_size);
|
||||
if (ptr == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((ushort)crc16.Invoke(len: (int)checked(unchecked((uint)operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_1)) - unchecked((long)(&((crnd_crn_header*)ptr3)->field_3) - (long)ptr3)), pBuf: &((crnd_crn_header*)ptr3)->field_3, crc: 0) != operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_2))
|
||||
if ((ushort)crc16.Invoke(len: (int)checked(unchecked((uint)crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_1)) - unchecked((long)(&((crnd_crn_header*)ptr)->field_3) - (long)ptr)), pBuf: &((crnd_crn_header*)ptr)->field_3, crc: 0) != crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_2))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((ushort)crc16.Invoke(len: operator_unsigned_int_uxo4hgd.Invoke(&((crnd_crn_header*)ptr3)->field_3) - operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_1), pBuf: (byte*)ptr2 + (uint)operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_1), crc: 0) != operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_4))
|
||||
if ((ushort)crc16.Invoke(len: crn_packed_uint_4_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_3) - crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_1), pBuf: (byte*)pData + (uint)crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_1), crc: 0) != crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_4))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_8) != 1 && operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_8) != 6)
|
||||
if (crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_8) != 1 && crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_8) != 6)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((uint)operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_5) < 1u || (uint)operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_5) > 4096u)
|
||||
if ((uint)crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_5) < 1u || (uint)crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_5) > 4096u)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((uint)operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_6) < 1u || (uint)operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_6) > 4096u)
|
||||
if ((uint)crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_6) < 1u || (uint)crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_6) > 4096u)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((uint)operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_7) < 1u || (uint)operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_7) > (uint)compute_max_mips.Invoke(height: operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_6), width: operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_5)))
|
||||
if ((uint)crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_7) < 1u || (uint)crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_7) > (uint)compute_max_mips.Invoke(height: crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_6), width: crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_5)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9) < 0 || operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_9) >= 15)
|
||||
if (crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9) < 0 || crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_9) >= 15)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (ptr != null)
|
||||
if (pFile_info != null)
|
||||
{
|
||||
((crnd_crn_file_info*)ptr)->field_1 = operator_unsigned_int_uxo4hgd.Invoke(&((crnd_crn_header*)ptr3)->field_3);
|
||||
((crnd_crn_file_info*)ptr)->field_2 = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_1);
|
||||
((crnd_crn_file_info*)ptr)->field_3 = operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr3)->field_14.field_1) + operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr3)->field_15.field_1) + operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr3)->field_16.field_1) + operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)ptr3)->field_17.field_1);
|
||||
((crnd_crn_file_info*)ptr)->field_4 = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_18);
|
||||
((crnd_crn_file_info*)ptr)->field_5 = operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_7);
|
||||
for (num4 = 0; (uint)num4 < (uint)operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_7); num4++)
|
||||
((crnd_crn_file_info*)pFile_info)->field_1 = crn_packed_uint_4_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_3);
|
||||
((crnd_crn_file_info*)pFile_info)->field_2 = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_1);
|
||||
((crnd_crn_file_info*)pFile_info)->field_3 = crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_14.field_1) + crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_15.field_1) + crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_16.field_1) + crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_17.field_1);
|
||||
((crnd_crn_file_info*)pFile_info)->field_4 = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_18);
|
||||
((crnd_crn_file_info*)pFile_info)->field_5 = crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_7);
|
||||
for (int i = 0; (uint)i < (uint)crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_7); i++)
|
||||
{
|
||||
num5 = operator_unsigned_int_uxo4hgd.Invoke(&((crnd_crn_header*)ptr3)->field_3);
|
||||
if ((uint)(num4 + 1) < (uint)operator_unsigned_int_neugqod.Invoke(&((crnd_crn_header*)ptr3)->field_7))
|
||||
int num = crn_packed_uint_4_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_3);
|
||||
if ((uint)(i + 1) < (uint)crn_packed_uint_1_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_7))
|
||||
{
|
||||
num5 = operator_unsigned_int_uxo4hgd.Invoke((byte*)(&((crnd_crn_header*)ptr3)->field_20) + (nint)(uint)(num4 + 1) * (nint)sizeof(crnd_crn_packed_uint_0));
|
||||
num = crn_packed_uint_4_ToUInt32.Invoke((byte*)(&((crnd_crn_header*)ptr)->field_20) + (nint)(uint)(i + 1) * (nint)sizeof(crnd_crn_packed_uint_jymcebc));
|
||||
}
|
||||
int num6 = num5 - operator_unsigned_int_uxo4hgd.Invoke((byte*)(&((crnd_crn_header*)ptr3)->field_20) + (nint)(uint)num4 * (nint)sizeof(crnd_crn_packed_uint_0));
|
||||
((int*)(&((crnd_crn_file_info*)ptr)->field_6))[(uint)num4] = num6;
|
||||
int num2 = num - crn_packed_uint_4_ToUInt32.Invoke((byte*)(&((crnd_crn_header*)ptr)->field_20) + (nint)(uint)i * (nint)sizeof(crnd_crn_packed_uint_jymcebc));
|
||||
((int*)(&((crnd_crn_file_info*)pFile_info)->field_6))[(uint)i] = num2;
|
||||
}
|
||||
((crnd_crn_file_info*)ptr)->field_7 = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_14.field_2);
|
||||
((crnd_crn_file_info*)ptr)->field_8 = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_15.field_2);
|
||||
((crnd_crn_file_info*)ptr)->field_9 = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_16.field_2);
|
||||
((crnd_crn_file_info*)ptr)->field_10 = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)ptr3)->field_17.field_2);
|
||||
((crnd_crn_file_info*)pFile_info)->field_7 = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_14.field_2);
|
||||
((crnd_crn_file_info*)pFile_info)->field_8 = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_15.field_2);
|
||||
((crnd_crn_file_info*)pFile_info)->field_9 = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_16.field_2);
|
||||
((crnd_crn_file_info*)pFile_info)->field_10 = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)ptr)->field_17.field_2);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
+44
-67
@@ -8,120 +8,97 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: unsigned int __cdecl crnd::symbol_codec::decode(class crnd::static_huffman_data_model const &)")]
|
||||
internal static partial class decode
|
||||
{
|
||||
public unsafe static int Invoke(void* @this, void* model)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this, [NativeType("class crnd::static_huffman_data_model const &")] void* model)
|
||||
{
|
||||
int num = 0;
|
||||
void* ptr = null;
|
||||
void* ptr2 = null;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
void* ptr3 = null;
|
||||
int num4 = 0;
|
||||
int num5 = 0;
|
||||
int num6 = 0;
|
||||
int num7 = 0;
|
||||
int num8 = 0;
|
||||
int num9 = 0;
|
||||
int num10 = 0;
|
||||
ptr = model;
|
||||
unchecked
|
||||
{
|
||||
ptr2 = ((crnd_static_huffman_data_model*)ptr)->field_2;
|
||||
void* field_ = ((crnd_static_huffman_data_model*)model)->field_2;
|
||||
if (((crnd_symbol_codec*)@this)->field_5 < 24)
|
||||
{
|
||||
if (((crnd_symbol_codec*)@this)->field_5 < 16)
|
||||
{
|
||||
num2 = 0;
|
||||
num3 = 0;
|
||||
ptr3 = ((crnd_symbol_codec*)@this)->field_1;
|
||||
if (ptr3 < ((crnd_symbol_codec*)@this)->field_2)
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
void* ptr = ((crnd_symbol_codec*)@this)->field_1;
|
||||
if (ptr < ((crnd_symbol_codec*)@this)->field_2)
|
||||
{
|
||||
void* ptr4 = ptr3;
|
||||
ptr3 = (byte*)ptr4 + 1;
|
||||
num2 = (byte)(*(sbyte*)ptr4);
|
||||
void* ptr2 = ptr;
|
||||
ptr = (byte*)ptr2 + 1;
|
||||
num = (byte)(*(sbyte*)ptr2);
|
||||
}
|
||||
if (ptr3 < ((crnd_symbol_codec*)@this)->field_2)
|
||||
if (ptr < ((crnd_symbol_codec*)@this)->field_2)
|
||||
{
|
||||
void* ptr5 = ptr3;
|
||||
ptr3 = (byte*)ptr5 + 1;
|
||||
num3 = (byte)(*(sbyte*)ptr5);
|
||||
void* ptr3 = ptr;
|
||||
ptr = (byte*)ptr3 + 1;
|
||||
num2 = (byte)(*(sbyte*)ptr3);
|
||||
}
|
||||
((crnd_symbol_codec*)@this)->field_1 = ptr3;
|
||||
int num11;
|
||||
((crnd_symbol_codec*)@this)->field_1 = ptr;
|
||||
int num3;
|
||||
checked
|
||||
{
|
||||
unchecked((crnd_symbol_codec*)@this)->field_5 += 16;
|
||||
num11 = ((num2 << 8) | num3) << 32 - unchecked((crnd_symbol_codec*)@this)->field_5;
|
||||
num3 = ((num << 8) | num2) << 32 - unchecked((crnd_symbol_codec*)@this)->field_5;
|
||||
}
|
||||
((crnd_symbol_codec*)@this)->field_4 |= num11;
|
||||
((crnd_symbol_codec*)@this)->field_4 |= num3;
|
||||
}
|
||||
else
|
||||
{
|
||||
int num12;
|
||||
int num4;
|
||||
if (((crnd_symbol_codec*)@this)->field_1 < ((crnd_symbol_codec*)@this)->field_2)
|
||||
{
|
||||
void** field_ = &((crnd_symbol_codec*)@this)->field_1;
|
||||
void* ptr6 = *field_;
|
||||
*field_ = (byte*)ptr6 + 1;
|
||||
num12 = (byte)(*(sbyte*)ptr6);
|
||||
void** field_2 = &((crnd_symbol_codec*)@this)->field_1;
|
||||
void* ptr4 = *field_2;
|
||||
*field_2 = (byte*)ptr4 + 1;
|
||||
num4 = (byte)(*(sbyte*)ptr4);
|
||||
}
|
||||
else
|
||||
{
|
||||
num12 = 0;
|
||||
num4 = 0;
|
||||
}
|
||||
num5 = num12;
|
||||
int num13;
|
||||
int num5 = num4;
|
||||
int num6;
|
||||
checked
|
||||
{
|
||||
unchecked((crnd_symbol_codec*)@this)->field_5 += 8;
|
||||
num13 = num5 << 32 - unchecked((crnd_symbol_codec*)@this)->field_5;
|
||||
num6 = num5 << 32 - unchecked((crnd_symbol_codec*)@this)->field_5;
|
||||
}
|
||||
((crnd_symbol_codec*)@this)->field_4 |= num13;
|
||||
((crnd_symbol_codec*)@this)->field_4 |= num6;
|
||||
}
|
||||
}
|
||||
num6 = (((crnd_symbol_codec*)@this)->field_4 >>> 16) + 1;
|
||||
if ((uint)num6 <= (uint)((crnd_prefix_coding_decoder_tables*)ptr2)->field_4)
|
||||
int num7 = (((crnd_symbol_codec*)@this)->field_4 >>> 16) + 1;
|
||||
int num9;
|
||||
int i;
|
||||
if ((uint)num7 <= (uint)((crnd_prefix_coding_decoder_tables*)field_)->field_4)
|
||||
{
|
||||
num9 = ((int*)((crnd_prefix_coding_decoder_tables*)ptr2)->field_11)[(uint)(((crnd_symbol_codec*)@this)->field_4 >>> 32 - ((crnd_prefix_coding_decoder_tables*)ptr2)->field_2)];
|
||||
int num14;
|
||||
if (num9 != -1)
|
||||
{
|
||||
num14 = -1;
|
||||
}
|
||||
else
|
||||
int num8 = ((int*)((crnd_prefix_coding_decoder_tables*)field_)->field_11)[(uint)(((crnd_symbol_codec*)@this)->field_4 >>> 32 - ((crnd_prefix_coding_decoder_tables*)field_)->field_2)];
|
||||
if (num8 == -1)
|
||||
{
|
||||
crnd_assert.Invoke(String_fwybtzb.__pointer, String_yguirrd.__pointer, 2691);
|
||||
num14 = 0;
|
||||
}
|
||||
num7 = num9 & 0xFFFF;
|
||||
num8 = num9 >>> 16;
|
||||
int num15;
|
||||
if ((byte)(*(sbyte*)Index_3lowkad.Invoke(&((crnd_static_huffman_data_model*)ptr)->field_1, num7)) == num8)
|
||||
{
|
||||
num15 = -1;
|
||||
}
|
||||
else
|
||||
num9 = num8 & 0xFFFF;
|
||||
i = num8 >>> 16;
|
||||
if ((byte)(*(sbyte*)vector_unsigned_char_Index_3lowkad.Invoke(&((crnd_static_huffman_data_model*)model)->field_1, num9)) != i)
|
||||
{
|
||||
crnd_assert.Invoke(String_e4i4x9a.__pointer, String_yguirrd.__pointer, 2695);
|
||||
num15 = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (num8 = ((crnd_prefix_coding_decoder_tables*)ptr2)->field_5; (uint)num6 > (uint)((int*)(&((crnd_prefix_coding_decoder_tables*)ptr2)->field_8))[(uint)(num8 - 1)]; num8++)
|
||||
for (i = ((crnd_prefix_coding_decoder_tables*)field_)->field_5; (uint)num7 > (uint)((int*)(&((crnd_prefix_coding_decoder_tables*)field_)->field_8))[(uint)(i - 1)]; i++)
|
||||
{
|
||||
}
|
||||
num10 = ((int*)(&((crnd_prefix_coding_decoder_tables*)ptr2)->field_9))[(uint)(num8 - 1)] + (((crnd_symbol_codec*)@this)->field_4 >>> 32 - num8);
|
||||
if ((uint)num10 >= (uint)((crnd_static_huffman_data_model*)ptr)->field_0)
|
||||
int num10 = ((int*)(&((crnd_prefix_coding_decoder_tables*)field_)->field_9))[(uint)(i - 1)] + (((crnd_symbol_codec*)@this)->field_4 >>> 32 - i);
|
||||
if ((uint)num10 >= (uint)((crnd_static_huffman_data_model*)model)->field_0)
|
||||
{
|
||||
crnd_assert.Invoke(String_xzkwrkb.__pointer, String_yguirrd.__pointer, 2709);
|
||||
return 0;
|
||||
}
|
||||
num7 = (ushort)((short*)((crnd_prefix_coding_decoder_tables*)ptr2)->field_13)[num10];
|
||||
num9 = (ushort)((short*)((crnd_prefix_coding_decoder_tables*)field_)->field_13)[num10];
|
||||
}
|
||||
((crnd_symbol_codec*)@this)->field_4 <<= num8;
|
||||
((crnd_symbol_codec*)@this)->field_5 -= num8;
|
||||
return num7;
|
||||
((crnd_symbol_codec*)@this)->field_4 <<= i;
|
||||
((crnd_symbol_codec*)@this)->field_5 -= i;
|
||||
return num9;
|
||||
}
|
||||
}
|
||||
}
|
||||
+42
-65
@@ -9,120 +9,97 @@ internal static partial class decode_alpha_endpoints
|
||||
{
|
||||
private partial struct LocalVariables
|
||||
{
|
||||
public bool field_0;
|
||||
|
||||
public int field_1;
|
||||
|
||||
public crnd_static_huffman_data_model field_2;
|
||||
|
||||
public int field_3;
|
||||
|
||||
public unsafe void* field_4;
|
||||
|
||||
public int field_5;
|
||||
|
||||
public int field_6;
|
||||
|
||||
public int field_7;
|
||||
public crnd_static_huffman_data_model field_0;
|
||||
}
|
||||
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = default(crnd_static_huffman_data_model);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = 0;
|
||||
LocalVariables* localsPointer = startFrame.GetLocalsPointer<LocalVariables>();
|
||||
localsPointer->field_0 = default(crnd_static_huffman_data_model);
|
||||
unchecked
|
||||
{
|
||||
int field_ = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_16.field_2);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = field_;
|
||||
if (!start_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4, buf_size: operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_16.field_1), pBuf: (byte*)((crnd_crn_unpacker*)@this)->field_1 + (uint)operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_16.field_0)))
|
||||
int num = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_16.field_2);
|
||||
bool flag;
|
||||
if (!start_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4, buf_size: crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_16.field_1), pBuf: (byte*)((crnd_crn_unpacker*)@this)->field_1 + (uint)crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_16.field_0)))
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
flag = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
static_huffman_data_model_Constructor_tl33idc.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_2);
|
||||
bool flag = decode_receive_static_data_model.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &startFrame.GetLocalsPointer<LocalVariables>()->field_2);
|
||||
static_huffman_data_model_Constructor_tl33idc.Invoke(&localsPointer->field_0);
|
||||
bool flag2 = decode_receive_static_data_model.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
goto IL_038a;
|
||||
goto IL_01e3;
|
||||
}
|
||||
if (!flag)
|
||||
if (!flag2)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 1;
|
||||
flag = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
bool flag2 = resize_w95s75a.Invoke(&((crnd_crn_unpacker*)@this)->field_10, startFrame.GetLocalsPointer<LocalVariables>()->field_1);
|
||||
bool flag3 = resize_w95s75a.Invoke(&((crnd_crn_unpacker*)@this)->field_10, num);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
goto IL_038a;
|
||||
goto IL_01e3;
|
||||
}
|
||||
if (!flag2)
|
||||
if (!flag3)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = false;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 1;
|
||||
flag = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
void* field_2 = Index_uimxdqb.Invoke(&((crnd_crn_unpacker*)@this)->field_10, 0);
|
||||
void* ptr = vector_unsigned_short_Index.Invoke(&((crnd_crn_unpacker*)@this)->field_10, 0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
goto IL_038a;
|
||||
goto IL_01e3;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = field_2;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = 0;
|
||||
while ((uint)startFrame.GetLocalsPointer<LocalVariables>()->field_7 < (uint)startFrame.GetLocalsPointer<LocalVariables>()->field_1)
|
||||
void* ptr2 = ptr;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
while ((uint)num4 < (uint)num)
|
||||
{
|
||||
int field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_5;
|
||||
int num = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &startFrame.GetLocalsPointer<LocalVariables>()->field_2);
|
||||
int num5 = num2;
|
||||
int num6 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &localsPointer->field_0);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = (field_3 + num) & 0xFF;
|
||||
int field_4 = startFrame.GetLocalsPointer<LocalVariables>()->field_6;
|
||||
int num2 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &startFrame.GetLocalsPointer<LocalVariables>()->field_2);
|
||||
num2 = (num5 + num6) & 0xFF;
|
||||
int num7 = num3;
|
||||
int num8 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &localsPointer->field_0);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = (field_4 + num2) & 0xFF;
|
||||
short num3 = (short)(startFrame.GetLocalsPointer<LocalVariables>()->field_5 | (startFrame.GetLocalsPointer<LocalVariables>()->field_6 << 8));
|
||||
void* field_5 = startFrame.GetLocalsPointer<LocalVariables>()->field_4;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = (byte*)field_5 + 2;
|
||||
*(short*)field_5 = num3;
|
||||
int field_6 = startFrame.GetLocalsPointer<LocalVariables>()->field_7 + 1;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = field_6;
|
||||
num3 = (num7 + num8) & 0xFF;
|
||||
short num9 = (short)(num2 | (num3 << 8));
|
||||
void* ptr3 = ptr2;
|
||||
ptr2 = (byte*)ptr3 + 2;
|
||||
*(short*)ptr3 = num9;
|
||||
num4++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
goto IL_038a;
|
||||
goto IL_01e3;
|
||||
}
|
||||
stop_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = true;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 1;
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
static_huffman_data_model_Destructor.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_2);
|
||||
static_huffman_data_model_Destructor.Invoke(&localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
bool field_7 = startFrame.GetLocalsPointer<LocalVariables>()->field_0;
|
||||
bool result = flag;
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return field_7;
|
||||
return result;
|
||||
}
|
||||
IL_038a:
|
||||
IL_01e3:
|
||||
ExceptionInfo current = ExceptionInfo.Current;
|
||||
ExceptionInfo.Current = null;
|
||||
static_huffman_data_model_Destructor.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_2);
|
||||
static_huffman_data_model_Destructor.Invoke(&localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
|
||||
+41
-95
@@ -13,143 +13,89 @@ internal static partial class decode_alpha_selectors
|
||||
{
|
||||
public crnd_static_huffman_data_model field_0;
|
||||
|
||||
public InlineArray_64_w3otm9c field_1;
|
||||
|
||||
public int field_2;
|
||||
|
||||
public int field_3;
|
||||
|
||||
public int field_4;
|
||||
|
||||
public int field_5;
|
||||
|
||||
public int field_6;
|
||||
|
||||
public int field_7;
|
||||
|
||||
public int field_8;
|
||||
|
||||
public int field_9;
|
||||
public InlineArray64_SByte field_1;
|
||||
}
|
||||
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = default(crnd_static_huffman_data_model);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = default(InlineArray_64_w3otm9c);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_8 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_9 = 0;
|
||||
LocalVariables* localsPointer = startFrame.GetLocalsPointer<LocalVariables>();
|
||||
localsPointer->field_0 = default(crnd_static_huffman_data_model);
|
||||
localsPointer->field_1 = default(InlineArray64_SByte);
|
||||
unchecked
|
||||
{
|
||||
start_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4, buf_size: operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_1), pBuf: (byte*)((crnd_crn_unpacker*)@this)->field_1 + (uint)operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_0));
|
||||
static_huffman_data_model_Constructor_tl33idc.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
decode_receive_static_data_model.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
start_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4, buf_size: crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_1), pBuf: (byte*)((crnd_crn_unpacker*)@this)->field_1 + (uint)crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_0));
|
||||
static_huffman_data_model_Constructor_tl33idc.Invoke(&localsPointer->field_0);
|
||||
decode_receive_static_data_model.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &localsPointer->field_0);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
crnd_vector_8* field_ = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
int num = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_2);
|
||||
crnd_vector_rf9iywd* field_ = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
int num = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_2);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
resize_w95s75a.Invoke(field_, num * 3);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = 0;
|
||||
while ((uint)startFrame.GetLocalsPointer<LocalVariables>()->field_2 < 64u)
|
||||
for (int i = 0; (uint)i < 64u; i++)
|
||||
{
|
||||
long num2 = (uint)(startFrame.GetLocalsPointer<LocalVariables>()->field_2 & 7);
|
||||
byte num3 = (byte)((sbyte*)g_dxt5_from_linear.__pointer)[num2];
|
||||
long num4 = (uint)(startFrame.GetLocalsPointer<LocalVariables>()->field_2 >>> 3);
|
||||
sbyte b = (sbyte)(num3 | ((byte)((sbyte*)g_dxt5_from_linear.__pointer)[num4] << 3));
|
||||
long num5 = (uint)startFrame.GetLocalsPointer<LocalVariables>()->field_2;
|
||||
((sbyte*)(&startFrame.GetLocalsPointer<LocalVariables>()->field_1))[num5] = b;
|
||||
int field_2 = startFrame.GetLocalsPointer<LocalVariables>()->field_2 + 1;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = field_2;
|
||||
sbyte b = (sbyte)((byte)((sbyte*)g_dxt5_from_linear.__pointer)[(uint)(i & 7)] | ((byte)((sbyte*)g_dxt5_from_linear.__pointer)[(uint)(i >>> 3)] << 3));
|
||||
((sbyte*)(&localsPointer->field_1))[(uint)i] = b;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
while (true)
|
||||
{
|
||||
if ((uint)startFrame.GetLocalsPointer<LocalVariables>()->field_5 < (uint)size_lxodu4b.Invoke(&((crnd_crn_unpacker*)@this)->field_11))
|
||||
if ((uint)num4 < (uint)size_lxodu4b.Invoke(&((crnd_crn_unpacker*)@this)->field_11))
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_8 = 0;
|
||||
while ((uint)startFrame.GetLocalsPointer<LocalVariables>()->field_8 < 24u)
|
||||
int num5 = 0;
|
||||
int num6 = 0;
|
||||
for (int j = 0; (uint)j < 24u; j += 6)
|
||||
{
|
||||
int num6 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
int num7 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
goto end_IL_0242;
|
||||
goto end_IL_0160;
|
||||
}
|
||||
int field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_8;
|
||||
int field_4 = startFrame.GetLocalsPointer<LocalVariables>()->field_3 ^ (num6 << field_3);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = field_4;
|
||||
long num7 = (uint)((startFrame.GetLocalsPointer<LocalVariables>()->field_3 >>> startFrame.GetLocalsPointer<LocalVariables>()->field_8) & 0x3F);
|
||||
int num8 = (byte)((sbyte*)(&startFrame.GetLocalsPointer<LocalVariables>()->field_1))[num7] << startFrame.GetLocalsPointer<LocalVariables>()->field_8;
|
||||
int field_5 = startFrame.GetLocalsPointer<LocalVariables>()->field_6 | num8;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = field_5;
|
||||
int field_6 = startFrame.GetLocalsPointer<LocalVariables>()->field_8 + 6;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_8 = field_6;
|
||||
num2 ^= num7 << j;
|
||||
num5 |= (byte)((sbyte*)(&localsPointer->field_1))[(uint)((num2 >>> j) & 0x3F)] << j;
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_9 = 0;
|
||||
while ((uint)startFrame.GetLocalsPointer<LocalVariables>()->field_9 < 24u)
|
||||
for (int k = 0; (uint)k < 24u; k += 6)
|
||||
{
|
||||
int num9 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
int num8 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
goto end_IL_0242;
|
||||
goto end_IL_0160;
|
||||
}
|
||||
int field_7 = startFrame.GetLocalsPointer<LocalVariables>()->field_9;
|
||||
int field_8 = startFrame.GetLocalsPointer<LocalVariables>()->field_4 ^ (num9 << field_7);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = field_8;
|
||||
long num10 = (uint)((startFrame.GetLocalsPointer<LocalVariables>()->field_4 >>> startFrame.GetLocalsPointer<LocalVariables>()->field_9) & 0x3F);
|
||||
int num11 = (byte)((sbyte*)(&startFrame.GetLocalsPointer<LocalVariables>()->field_1))[num10] << startFrame.GetLocalsPointer<LocalVariables>()->field_9;
|
||||
int field_9 = startFrame.GetLocalsPointer<LocalVariables>()->field_7 | num11;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = field_9;
|
||||
int field_10 = startFrame.GetLocalsPointer<LocalVariables>()->field_9 + 6;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_9 = field_10;
|
||||
num3 ^= num8 << k;
|
||||
num6 |= (byte)((sbyte*)(&localsPointer->field_1))[(uint)((num3 >>> k) & 0x3F)] << k;
|
||||
}
|
||||
short num12 = (short)startFrame.GetLocalsPointer<LocalVariables>()->field_6;
|
||||
crnd_vector_8* field_11 = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
int field_12 = startFrame.GetLocalsPointer<LocalVariables>()->field_5;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = field_12 + 1;
|
||||
void* ptr = Index_uimxdqb.Invoke(field_11, field_12);
|
||||
short num9 = (short)num5;
|
||||
void* ptr = vector_unsigned_short_Index.Invoke(&((crnd_crn_unpacker*)@this)->field_11, num4++);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
*(short*)ptr = num12;
|
||||
short num13 = (short)((startFrame.GetLocalsPointer<LocalVariables>()->field_6 >>> 16) | (startFrame.GetLocalsPointer<LocalVariables>()->field_7 << 8));
|
||||
crnd_vector_8* field_13 = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
int field_14 = startFrame.GetLocalsPointer<LocalVariables>()->field_5;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = field_14 + 1;
|
||||
void* ptr2 = Index_uimxdqb.Invoke(field_13, field_14);
|
||||
*(short*)ptr = num9;
|
||||
short num10 = (short)((num5 >>> 16) | (num6 << 8));
|
||||
void* ptr2 = vector_unsigned_short_Index.Invoke(&((crnd_crn_unpacker*)@this)->field_11, num4++);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
*(short*)ptr2 = num13;
|
||||
short num14 = (short)(startFrame.GetLocalsPointer<LocalVariables>()->field_7 >>> 8);
|
||||
crnd_vector_8* field_15 = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
int field_16 = startFrame.GetLocalsPointer<LocalVariables>()->field_5;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = field_16 + 1;
|
||||
void* ptr3 = Index_uimxdqb.Invoke(field_15, field_16);
|
||||
*(short*)ptr2 = num10;
|
||||
short num11 = (short)(num6 >>> 8);
|
||||
void* ptr3 = vector_unsigned_short_Index.Invoke(&((crnd_crn_unpacker*)@this)->field_11, num4++);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
*(short*)ptr3 = num14;
|
||||
*(short*)ptr3 = num11;
|
||||
continue;
|
||||
}
|
||||
stop_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4);
|
||||
static_huffman_data_model_Destructor.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
static_huffman_data_model_Destructor.Invoke(&localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
@@ -157,7 +103,7 @@ internal static partial class decode_alpha_selectors
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return true;
|
||||
continue;
|
||||
end_IL_0242:
|
||||
end_IL_0160:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -165,7 +111,7 @@ internal static partial class decode_alpha_selectors
|
||||
}
|
||||
ExceptionInfo current = ExceptionInfo.Current;
|
||||
ExceptionInfo.Current = null;
|
||||
static_huffman_data_model_Destructor.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
static_huffman_data_model_Destructor.Invoke(&localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
|
||||
+53
-91
@@ -13,135 +13,97 @@ internal static partial class decode_alpha_selectors_etc
|
||||
{
|
||||
public crnd_static_huffman_data_model field_0;
|
||||
|
||||
public InlineArray_8_w3otm9c field_1;
|
||||
|
||||
public unsafe void* field_2;
|
||||
|
||||
public int field_3;
|
||||
|
||||
public int field_4;
|
||||
|
||||
public int field_5;
|
||||
|
||||
public sbyte field_6;
|
||||
|
||||
public sbyte field_7;
|
||||
|
||||
public sbyte field_8;
|
||||
|
||||
public sbyte field_9;
|
||||
public InlineArray8_SByte field_1;
|
||||
}
|
||||
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = default(crnd_static_huffman_data_model);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = default(InlineArray_8_w3otm9c);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_8 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_9 = 0;
|
||||
LocalVariables* localsPointer = startFrame.GetLocalsPointer<LocalVariables>();
|
||||
localsPointer->field_0 = default(crnd_static_huffman_data_model);
|
||||
localsPointer->field_1 = default(InlineArray8_SByte);
|
||||
unchecked
|
||||
{
|
||||
start_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4, buf_size: operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_1), pBuf: (byte*)((crnd_crn_unpacker*)@this)->field_1 + (uint)operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_0));
|
||||
static_huffman_data_model_Constructor_tl33idc.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
decode_receive_static_data_model.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
start_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4, buf_size: crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_1), pBuf: (byte*)((crnd_crn_unpacker*)@this)->field_1 + (uint)crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_0));
|
||||
static_huffman_data_model_Constructor_tl33idc.Invoke(&localsPointer->field_0);
|
||||
decode_receive_static_data_model.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &localsPointer->field_0);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
crnd_vector_8* field_ = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
int num = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_2);
|
||||
crnd_vector_rf9iywd* field_ = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
int num = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_2);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
resize_w95s75a.Invoke(field_, num * 6);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
llvm_memset_p0_i64.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_1, 0, 8L, isVolatile: false);
|
||||
void* field_2 = begin.Invoke(&((crnd_crn_unpacker*)@this)->field_11);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = field_2;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0;
|
||||
llvm_memset_p0_i64.Invoke(&localsPointer->field_1, 0, 8L, isVolatile: false);
|
||||
void* ptr = begin.Invoke(&((crnd_crn_unpacker*)@this)->field_11);
|
||||
int num2 = 0;
|
||||
while (true)
|
||||
{
|
||||
if ((uint)startFrame.GetLocalsPointer<LocalVariables>()->field_3 < (uint)size_lxodu4b.Invoke(&((crnd_crn_unpacker*)@this)->field_11))
|
||||
if ((uint)num2 < (uint)size_lxodu4b.Invoke(&((crnd_crn_unpacker*)@this)->field_11))
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = 0;
|
||||
while ((uint)startFrame.GetLocalsPointer<LocalVariables>()->field_5 < 16u)
|
||||
int num3 = 0;
|
||||
for (int i = 0; (uint)i < 16u; i++)
|
||||
{
|
||||
int field_3;
|
||||
if ((startFrame.GetLocalsPointer<LocalVariables>()->field_5 & 1) != 0)
|
||||
int num4;
|
||||
if ((i & 1) != 0)
|
||||
{
|
||||
field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_4 >>> 3;
|
||||
num4 = num3 >>> 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
int num2 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
int num5 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
goto end_IL_01a4;
|
||||
goto end_IL_012b;
|
||||
}
|
||||
long num3 = (uint)(startFrame.GetLocalsPointer<LocalVariables>()->field_5 >>> 1);
|
||||
sbyte* ptr = (sbyte*)(&startFrame.GetLocalsPointer<LocalVariables>()->field_1) + num3;
|
||||
field_3 = (byte)(*ptr = (sbyte)((byte)(*ptr) ^ num2));
|
||||
sbyte* ptr2 = (sbyte*)(&localsPointer->field_1) + (uint)(i >>> 1);
|
||||
num4 = (byte)(*ptr2 = (sbyte)((byte)(*ptr2) ^ num5));
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = field_3;
|
||||
sbyte field_4 = (sbyte)(startFrame.GetLocalsPointer<LocalVariables>()->field_4 & 7);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = field_4;
|
||||
if ((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_6 <= 3)
|
||||
num3 = num4;
|
||||
sbyte b = (sbyte)(num3 & 7);
|
||||
if ((byte)b <= 3)
|
||||
{
|
||||
sbyte field_5 = (sbyte)checked(3 - unchecked((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_6));
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = field_5;
|
||||
b = (sbyte)checked(3 - unchecked((byte)b));
|
||||
}
|
||||
int num4 = startFrame.GetLocalsPointer<LocalVariables>()->field_5 + 1;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = (sbyte)(3 * num4);
|
||||
sbyte field_6 = (sbyte)((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_7 >> 3);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_8 = field_6;
|
||||
sbyte field_7 = (sbyte)((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_7 & 7);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_9 = field_7;
|
||||
int num5 = (byte)startFrame.GetLocalsPointer<LocalVariables>()->field_6 << checked(8 - unchecked((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_9));
|
||||
sbyte* ptr2 = (sbyte*)startFrame.GetLocalsPointer<LocalVariables>()->field_2 + (byte)startFrame.GetLocalsPointer<LocalVariables>()->field_8;
|
||||
*ptr2 = (sbyte)((byte)(*ptr2) | num5);
|
||||
if ((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_9 < 3)
|
||||
sbyte b2 = (sbyte)(3 * (i + 1));
|
||||
sbyte b3 = (sbyte)((byte)b2 >> 3);
|
||||
sbyte b4 = (sbyte)((byte)b2 & 7);
|
||||
int num6 = (byte)b << checked(8 - unchecked((byte)b4));
|
||||
sbyte* ptr3 = (sbyte*)ptr + (byte)b3;
|
||||
*ptr3 = (sbyte)((byte)(*ptr3) | num6);
|
||||
if ((byte)b4 < 3)
|
||||
{
|
||||
int num6 = (byte)startFrame.GetLocalsPointer<LocalVariables>()->field_6 >> (int)(byte)startFrame.GetLocalsPointer<LocalVariables>()->field_9;
|
||||
sbyte* ptr3 = (sbyte*)startFrame.GetLocalsPointer<LocalVariables>()->field_2 + checked(unchecked((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_8) - 1);
|
||||
*ptr3 = (sbyte)((byte)(*ptr3) | num6);
|
||||
int num7 = (byte)b >> (int)(byte)b4;
|
||||
sbyte* ptr4 = (sbyte*)ptr + checked(unchecked((byte)b3) - 1);
|
||||
*ptr4 = (sbyte)((byte)(*ptr4) | num7);
|
||||
}
|
||||
int num7 = (startFrame.GetLocalsPointer<LocalVariables>()->field_5 & 3) - (startFrame.GetLocalsPointer<LocalVariables>()->field_5 >>> 2);
|
||||
sbyte field_8 = (sbyte)((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_7 + 9 * num7);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = field_8;
|
||||
sbyte field_9 = (sbyte)((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_7 >> 3);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_8 = field_9;
|
||||
sbyte field_10 = (sbyte)((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_7 & 7);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_9 = field_10;
|
||||
b2 = (sbyte)((byte)b2 + 9 * ((i & 3) - (i >>> 2)));
|
||||
b3 = (sbyte)((byte)b2 >> 3);
|
||||
b4 = (sbyte)((byte)b2 & 7);
|
||||
int num8;
|
||||
sbyte* ptr4;
|
||||
sbyte* ptr5;
|
||||
checked
|
||||
{
|
||||
num8 = unchecked((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_6) << 8 - unchecked((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_9);
|
||||
ptr4 = unchecked((sbyte*)startFrame.GetLocalsPointer<LocalVariables>()->field_2) + (unchecked((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_8) + 6);
|
||||
num8 = unchecked((byte)b) << 8 - unchecked((byte)b4);
|
||||
ptr5 = unchecked((sbyte*)ptr) + (unchecked((byte)b3) + 6);
|
||||
}
|
||||
*ptr4 = (sbyte)((byte)(*ptr4) | num8);
|
||||
if ((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_9 < 3)
|
||||
*ptr5 = (sbyte)((byte)(*ptr5) | num8);
|
||||
if ((byte)b4 < 3)
|
||||
{
|
||||
int num9 = (byte)startFrame.GetLocalsPointer<LocalVariables>()->field_6 >> (int)(byte)startFrame.GetLocalsPointer<LocalVariables>()->field_9;
|
||||
sbyte* ptr5 = (sbyte*)startFrame.GetLocalsPointer<LocalVariables>()->field_2 + checked(unchecked((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_8) + 5);
|
||||
*ptr5 = (sbyte)((byte)(*ptr5) | num9);
|
||||
int num9 = (byte)b >> (int)(byte)b4;
|
||||
sbyte* ptr6 = (sbyte*)ptr + checked(unchecked((byte)b3) + 5);
|
||||
*ptr6 = (sbyte)((byte)(*ptr6) | num9);
|
||||
}
|
||||
int field_11 = startFrame.GetLocalsPointer<LocalVariables>()->field_5 + 1;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = field_11;
|
||||
}
|
||||
int field_12 = startFrame.GetLocalsPointer<LocalVariables>()->field_3 + 6;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = field_12;
|
||||
void* field_13 = (byte*)startFrame.GetLocalsPointer<LocalVariables>()->field_2 + 12;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = field_13;
|
||||
num2 += 6;
|
||||
ptr = (byte*)ptr + 12;
|
||||
continue;
|
||||
}
|
||||
stop_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4);
|
||||
static_huffman_data_model_Destructor.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
static_huffman_data_model_Destructor.Invoke(&localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
@@ -149,7 +111,7 @@ internal static partial class decode_alpha_selectors_etc
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return true;
|
||||
continue;
|
||||
end_IL_01a4:
|
||||
end_IL_012b:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -157,7 +119,7 @@ internal static partial class decode_alpha_selectors_etc
|
||||
}
|
||||
ExceptionInfo current = ExceptionInfo.Current;
|
||||
ExceptionInfo.Current = null;
|
||||
static_huffman_data_model_Destructor.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
static_huffman_data_model_Destructor.Invoke(&localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
|
||||
+44
-77
@@ -13,121 +13,88 @@ internal static partial class decode_alpha_selectors_etcs
|
||||
{
|
||||
public crnd_static_huffman_data_model field_0;
|
||||
|
||||
public InlineArray_8_w3otm9c field_1;
|
||||
|
||||
public unsafe void* field_2;
|
||||
|
||||
public int field_3;
|
||||
|
||||
public int field_4;
|
||||
|
||||
public int field_5;
|
||||
|
||||
public sbyte field_6;
|
||||
|
||||
public sbyte field_7;
|
||||
|
||||
public sbyte field_8;
|
||||
|
||||
public sbyte field_9;
|
||||
public InlineArray8_SByte field_1;
|
||||
}
|
||||
|
||||
[return: NativeType("bool")]
|
||||
public unsafe static bool Invoke(void* @this)
|
||||
{
|
||||
StackFrame startFrame = StackFrameList.Current.New<LocalVariables>();
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_0 = default(crnd_static_huffman_data_model);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_1 = default(InlineArray_8_w3otm9c);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = null;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_8 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_9 = 0;
|
||||
LocalVariables* localsPointer = startFrame.GetLocalsPointer<LocalVariables>();
|
||||
localsPointer->field_0 = default(crnd_static_huffman_data_model);
|
||||
localsPointer->field_1 = default(InlineArray8_SByte);
|
||||
unchecked
|
||||
{
|
||||
start_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4, buf_size: operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_1), pBuf: (byte*)((crnd_crn_unpacker*)@this)->field_1 + (uint)operator_unsigned_int_4iyly2b.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_0));
|
||||
static_huffman_data_model_Constructor_tl33idc.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
decode_receive_static_data_model.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
start_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4, buf_size: crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_1), pBuf: (byte*)((crnd_crn_unpacker*)@this)->field_1 + (uint)crn_packed_uint_3_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_0));
|
||||
static_huffman_data_model_Constructor_tl33idc.Invoke(&localsPointer->field_0);
|
||||
decode_receive_static_data_model.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &localsPointer->field_0);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
crnd_vector_8* field_ = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
int num = operator_unsigned_int_f3crpsb.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_2);
|
||||
crnd_vector_rf9iywd* field_ = &((crnd_crn_unpacker*)@this)->field_11;
|
||||
int num = crn_packed_uint_2_ToUInt32.Invoke(&((crnd_crn_header*)((crnd_crn_unpacker*)@this)->field_3)->field_17.field_2);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
resize_w95s75a.Invoke(field_, num * 3);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
llvm_memset_p0_i64.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_1, 0, 8L, isVolatile: false);
|
||||
void* field_2 = begin.Invoke(&((crnd_crn_unpacker*)@this)->field_11);
|
||||
llvm_memset_p0_i64.Invoke(&localsPointer->field_1, 0, 8L, isVolatile: false);
|
||||
void* ptr = begin.Invoke(&((crnd_crn_unpacker*)@this)->field_11);
|
||||
if (ExceptionInfo.Current == null)
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_2 = field_2;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = 0;
|
||||
void* ptr2 = ptr;
|
||||
int num2 = 0;
|
||||
while (true)
|
||||
{
|
||||
int field_3 = startFrame.GetLocalsPointer<LocalVariables>()->field_3;
|
||||
int num2 = size_lxodu4b.Invoke(&((crnd_crn_unpacker*)@this)->field_11);
|
||||
int num3 = num2;
|
||||
int num4 = size_lxodu4b.Invoke(&((crnd_crn_unpacker*)@this)->field_11);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if ((uint)field_3 < (uint)(num2 << 1))
|
||||
if ((uint)num3 < (uint)(num4 << 1))
|
||||
{
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = 0;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = 0;
|
||||
while ((uint)startFrame.GetLocalsPointer<LocalVariables>()->field_5 < 16u)
|
||||
int num5 = 0;
|
||||
for (int i = 0; (uint)i < 16u; i++)
|
||||
{
|
||||
int field_4;
|
||||
if ((startFrame.GetLocalsPointer<LocalVariables>()->field_5 & 1) != 0)
|
||||
int num6;
|
||||
if ((i & 1) != 0)
|
||||
{
|
||||
field_4 = startFrame.GetLocalsPointer<LocalVariables>()->field_4 >>> 3;
|
||||
num6 = num5 >>> 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
int num3 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
int num7 = decode.Invoke(&((crnd_crn_unpacker*)@this)->field_4, &localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
goto end_IL_01b4;
|
||||
goto end_IL_013b;
|
||||
}
|
||||
long num4 = (uint)(startFrame.GetLocalsPointer<LocalVariables>()->field_5 >>> 1);
|
||||
sbyte* ptr = (sbyte*)(&startFrame.GetLocalsPointer<LocalVariables>()->field_1) + num4;
|
||||
field_4 = (byte)(*ptr = (sbyte)((byte)(*ptr) ^ num3));
|
||||
sbyte* ptr3 = (sbyte*)(&localsPointer->field_1) + (uint)(i >>> 1);
|
||||
num6 = (byte)(*ptr3 = (sbyte)((byte)(*ptr3) ^ num7));
|
||||
}
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_4 = field_4;
|
||||
sbyte field_5 = (sbyte)(startFrame.GetLocalsPointer<LocalVariables>()->field_4 & 7);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = field_5;
|
||||
if ((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_6 <= 3)
|
||||
num5 = num6;
|
||||
sbyte b = (sbyte)(num5 & 7);
|
||||
if ((byte)b <= 3)
|
||||
{
|
||||
sbyte field_6 = (sbyte)checked(3 - unchecked((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_6));
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_6 = field_6;
|
||||
b = (sbyte)checked(3 - unchecked((byte)b));
|
||||
}
|
||||
int num5 = 3 * (startFrame.GetLocalsPointer<LocalVariables>()->field_5 + 1);
|
||||
int num6 = (startFrame.GetLocalsPointer<LocalVariables>()->field_5 & 3) - (startFrame.GetLocalsPointer<LocalVariables>()->field_5 >>> 2);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_7 = (sbyte)(num5 + 9 * num6);
|
||||
sbyte field_7 = (sbyte)((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_7 >> 3);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_8 = field_7;
|
||||
sbyte field_8 = (sbyte)((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_7 & 7);
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_9 = field_8;
|
||||
int num7 = (byte)startFrame.GetLocalsPointer<LocalVariables>()->field_6 << checked(8 - unchecked((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_9));
|
||||
sbyte* ptr2 = (sbyte*)startFrame.GetLocalsPointer<LocalVariables>()->field_2 + (uint)(startFrame.GetLocalsPointer<LocalVariables>()->field_3 + (byte)startFrame.GetLocalsPointer<LocalVariables>()->field_8);
|
||||
*ptr2 = (sbyte)((byte)(*ptr2) | num7);
|
||||
if ((byte)startFrame.GetLocalsPointer<LocalVariables>()->field_9 < 3)
|
||||
sbyte b2 = (sbyte)(3 * (i + 1) + 9 * ((i & 3) - (i >>> 2)));
|
||||
sbyte b3 = (sbyte)((byte)b2 >> 3);
|
||||
sbyte b4 = (sbyte)((byte)b2 & 7);
|
||||
int num8 = (byte)b << checked(8 - unchecked((byte)b4));
|
||||
sbyte* ptr4 = (sbyte*)ptr2 + (uint)(num2 + (byte)b3);
|
||||
*ptr4 = (sbyte)((byte)(*ptr4) | num8);
|
||||
if ((byte)b4 < 3)
|
||||
{
|
||||
int num8 = (byte)startFrame.GetLocalsPointer<LocalVariables>()->field_6 >> (int)(byte)startFrame.GetLocalsPointer<LocalVariables>()->field_9;
|
||||
sbyte* ptr3 = (sbyte*)startFrame.GetLocalsPointer<LocalVariables>()->field_2 + (uint)(startFrame.GetLocalsPointer<LocalVariables>()->field_3 + (byte)startFrame.GetLocalsPointer<LocalVariables>()->field_8 - 1);
|
||||
*ptr3 = (sbyte)((byte)(*ptr3) | num8);
|
||||
int num9 = (byte)b >> (int)(byte)b4;
|
||||
sbyte* ptr5 = (sbyte*)ptr2 + (uint)(num2 + (byte)b3 - 1);
|
||||
*ptr5 = (sbyte)((byte)(*ptr5) | num9);
|
||||
}
|
||||
int field_9 = startFrame.GetLocalsPointer<LocalVariables>()->field_5 + 1;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_5 = field_9;
|
||||
}
|
||||
int field_10 = startFrame.GetLocalsPointer<LocalVariables>()->field_3 + 6;
|
||||
startFrame.GetLocalsPointer<LocalVariables>()->field_3 = field_10;
|
||||
num2 += 6;
|
||||
continue;
|
||||
}
|
||||
stop_decoding.Invoke(&((crnd_crn_unpacker*)@this)->field_4);
|
||||
static_huffman_data_model_Destructor.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
static_huffman_data_model_Destructor.Invoke(&localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
@@ -135,7 +102,7 @@ internal static partial class decode_alpha_selectors_etcs
|
||||
StackFrameList.Current.Clear(startFrame);
|
||||
return true;
|
||||
continue;
|
||||
end_IL_01b4:
|
||||
end_IL_013b:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -144,7 +111,7 @@ internal static partial class decode_alpha_selectors_etcs
|
||||
}
|
||||
ExceptionInfo current = ExceptionInfo.Current;
|
||||
ExceptionInfo.Current = null;
|
||||
static_huffman_data_model_Destructor.Invoke(&startFrame.GetLocalsPointer<LocalVariables>()->field_0);
|
||||
static_huffman_data_model_Destructor.Invoke(&localsPointer->field_0);
|
||||
if (ExceptionInfo.Current != null)
|
||||
{
|
||||
return false;
|
||||
|
||||
+5
-9
@@ -6,19 +6,15 @@ namespace AssetRipper.Conversions.UnityCrunch.GlobalFunctions;
|
||||
[DemangledName("public: unsigned int __cdecl crnd::symbol_codec::decode_bits(unsigned int)")]
|
||||
internal static partial class decode_bits
|
||||
{
|
||||
public unsafe static int Invoke(void* @this, int num_bits)
|
||||
[return: NativeType("unsigned int")]
|
||||
public unsafe static int Invoke(void* @this, [NativeType("unsigned int")] int num_bits)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
num2 = num_bits;
|
||||
switch (num2)
|
||||
switch (num_bits)
|
||||
{
|
||||
case 0:
|
||||
return 0;
|
||||
default:
|
||||
return (Get_bits.Invoke(@this, unchecked(num2 - 16)) << 16) | Get_bits.Invoke(@this, 16);
|
||||
return (Get_bits.Invoke(@this, unchecked(num_bits - 16)) << 16) | Get_bits.Invoke(@this, 16);
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
@@ -35,7 +31,7 @@ internal static partial class decode_bits
|
||||
case 14:
|
||||
case 15:
|
||||
case 16:
|
||||
return Get_bits.Invoke(@this, num2);
|
||||
return Get_bits.Invoke(@this, num_bits);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loaded 100 of 335 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user