Skip to content

Commit e26cdc4

Browse files
committed
Finish 1.12.0
2 parents e36f47e + 743c49c commit e26cdc4

File tree

81 files changed

+3189
-454
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+3189
-454
lines changed

.editorconfig

Lines changed: 244 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,244 @@
1+
# editorconfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
# Default settings:
7+
# A newline ending every file
8+
# Use 4 spaces as indentation
9+
[*]
10+
insert_final_newline = true
11+
indent_style = space
12+
indent_size = 4
13+
trim_trailing_whitespace = true
14+
15+
# Generated code
16+
[*{_AssemblyInfo.cs,.notsupported.cs,AsmOffsets.cs}]
17+
generated_code = true
18+
dotnet_style_operator_placement_when_wrapping = beginning_of_line
19+
tab_width = 4
20+
end_of_line = crlf
21+
dotnet_style_coalesce_expression = true:suggestion
22+
dotnet_style_null_propagation = true:suggestion
23+
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
24+
dotnet_style_prefer_auto_properties = true:suggestion
25+
dotnet_style_object_initializer = true:suggestion
26+
dotnet_style_collection_initializer = true:suggestion
27+
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
28+
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
29+
dotnet_style_prefer_conditional_expression_over_return = true:silent
30+
dotnet_style_explicit_tuple_names = true:suggestion
31+
dotnet_style_prefer_inferred_tuple_names = true:suggestion
32+
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
33+
dotnet_style_prefer_compound_assignment = true:suggestion
34+
dotnet_style_prefer_simplified_interpolation = true:suggestion
35+
dotnet_style_namespace_match_folder = true:suggestion
36+
dotnet_style_readonly_field = true:suggestion
37+
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
38+
dotnet_style_predefined_type_for_member_access = true:suggestion
39+
dotnet_style_allow_statement_immediately_after_block_experimental = true:silent
40+
dotnet_style_allow_multiple_blank_lines_experimental = true:silent
41+
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
42+
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
43+
dotnet_code_quality_unused_parameters = all:suggestion
44+
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
45+
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
46+
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
47+
dotnet_style_qualification_for_property = false:suggestion
48+
dotnet_style_qualification_for_field = false:suggestion
49+
dotnet_style_qualification_for_event = false:suggestion
50+
dotnet_style_qualification_for_method = false:suggestion
51+
52+
# C# files
53+
[*.cs]
54+
# New line preferences
55+
csharp_new_line_before_open_brace = all
56+
csharp_new_line_before_else = true
57+
csharp_new_line_before_catch = true
58+
csharp_new_line_before_finally = true
59+
csharp_new_line_before_members_in_object_initializers = true
60+
csharp_new_line_before_members_in_anonymous_types = true
61+
csharp_new_line_between_query_expression_clauses = true
62+
63+
# Indentation preferences
64+
csharp_indent_block_contents = true
65+
csharp_indent_braces = false
66+
csharp_indent_case_contents = true
67+
csharp_indent_case_contents_when_block = true
68+
csharp_indent_switch_labels = true
69+
csharp_indent_labels = one_less_than_current
70+
71+
# Modifier preferences
72+
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
73+
74+
# avoid this. unless absolutely necessary
75+
dotnet_style_qualification_for_field = false:suggestion
76+
dotnet_style_qualification_for_property = false:suggestion
77+
dotnet_style_qualification_for_method = false:suggestion
78+
dotnet_style_qualification_for_event = false:suggestion
79+
80+
# Types: use keywords instead of BCL types, and permit var only when the type is clear
81+
csharp_style_var_for_built_in_types = false:suggestion
82+
csharp_style_var_when_type_is_apparent = true:suggestion
83+
csharp_style_var_elsewhere = true:suggestion
84+
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
85+
dotnet_style_predefined_type_for_member_access = true:suggestion
86+
87+
# name all constant fields using PascalCase
88+
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
89+
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
90+
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
91+
dotnet_naming_symbols.constant_fields.applicable_kinds = field
92+
dotnet_naming_symbols.constant_fields.required_modifiers = const
93+
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
94+
95+
# static fields should have s_ prefix
96+
dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion
97+
dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
98+
dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style
99+
dotnet_naming_symbols.static_fields.applicable_kinds = field
100+
dotnet_naming_symbols.static_fields.required_modifiers = static
101+
dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected
102+
dotnet_naming_style.static_prefix_style.required_prefix = s_
103+
dotnet_naming_style.static_prefix_style.capitalization = camel_case
104+
105+
# internal and private fields should be _PascalCase
106+
dotnet_naming_rule.pascal_case_for_private_internal_fields.severity = suggestion
107+
dotnet_naming_rule.pascal_case_for_private_internal_fields.symbols = private_internal_fields
108+
dotnet_naming_rule.pascal_case_for_private_internal_fields.style = pascal_case_underscore_style
109+
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
110+
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
111+
dotnet_naming_style.pascal_case_underscore_style.required_prefix = _
112+
dotnet_naming_style.pascal_case_underscore_style.capitalization = pascal_case
113+
114+
# Code style defaults
115+
csharp_using_directive_placement = outside_namespace:suggestion
116+
dotnet_sort_system_directives_first = true
117+
csharp_prefer_braces = true:silent
118+
csharp_preserve_single_line_blocks = true:none
119+
csharp_preserve_single_line_statements = false:none
120+
csharp_prefer_static_local_function = true:suggestion
121+
csharp_prefer_simple_using_statement = false:suggestion
122+
csharp_style_prefer_switch_expression = true:suggestion
123+
dotnet_style_readonly_field = true:suggestion
124+
125+
# Expression-level preferences
126+
dotnet_style_object_initializer = true:suggestion
127+
dotnet_style_collection_initializer = true:suggestion
128+
dotnet_style_explicit_tuple_names = true:suggestion
129+
dotnet_style_coalesce_expression = true:suggestion
130+
dotnet_style_null_propagation = true:suggestion
131+
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
132+
dotnet_style_prefer_inferred_tuple_names = true:suggestion
133+
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
134+
dotnet_style_prefer_auto_properties = true:suggestion
135+
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
136+
dotnet_style_prefer_conditional_expression_over_return = true:silent
137+
csharp_prefer_simple_default_expression = true:suggestion
138+
139+
# Expression-bodied members
140+
csharp_style_expression_bodied_methods = true:silent
141+
csharp_style_expression_bodied_constructors = true:silent
142+
csharp_style_expression_bodied_operators = true:silent
143+
csharp_style_expression_bodied_properties = true:silent
144+
csharp_style_expression_bodied_indexers = true:silent
145+
csharp_style_expression_bodied_accessors = true:silent
146+
csharp_style_expression_bodied_lambdas = true:silent
147+
csharp_style_expression_bodied_local_functions = true:silent
148+
149+
# Pattern matching
150+
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
151+
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
152+
csharp_style_inlined_variable_declaration = true:suggestion
153+
154+
# Null checking preferences
155+
csharp_style_throw_expression = true:suggestion
156+
csharp_style_conditional_delegate_call = true:suggestion
157+
158+
# Other features
159+
csharp_style_prefer_index_operator = false:none
160+
csharp_style_prefer_range_operator = false:none
161+
csharp_style_pattern_local_over_anonymous_function = false:none
162+
163+
# Space preferences
164+
csharp_space_after_cast = false
165+
csharp_space_after_colon_in_inheritance_clause = true
166+
csharp_space_after_comma = true
167+
csharp_space_after_dot = false
168+
csharp_space_after_keywords_in_control_flow_statements = true
169+
csharp_space_after_semicolon_in_for_statement = true
170+
csharp_space_around_binary_operators = before_and_after
171+
csharp_space_around_declaration_statements = do_not_ignore
172+
csharp_space_before_colon_in_inheritance_clause = true
173+
csharp_space_before_comma = false
174+
csharp_space_before_dot = false
175+
csharp_space_before_open_square_brackets = false
176+
csharp_space_before_semicolon_in_for_statement = false
177+
csharp_space_between_empty_square_brackets = false
178+
csharp_space_between_method_call_empty_parameter_list_parentheses = false
179+
csharp_space_between_method_call_name_and_opening_parenthesis = false
180+
csharp_space_between_method_call_parameter_list_parentheses = false
181+
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
182+
csharp_space_between_method_declaration_name_and_open_parenthesis = false
183+
csharp_space_between_method_declaration_parameter_list_parentheses = false
184+
csharp_space_between_parentheses = false
185+
csharp_space_between_square_brackets = false
186+
187+
# License header
188+
file_header_template =
189+
csharp_style_namespace_declarations = file_scoped:silent
190+
csharp_style_prefer_method_group_conversion = true:silent
191+
csharp_style_prefer_top_level_statements = true:silent
192+
csharp_style_deconstructed_variable_declaration = true:suggestion
193+
csharp_style_prefer_local_over_anonymous_function = true:suggestion
194+
csharp_style_prefer_null_check_over_type_check = true:suggestion
195+
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
196+
csharp_style_prefer_utf8_string_literals = true:suggestion
197+
csharp_style_prefer_tuple_swap = true:suggestion
198+
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
199+
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
200+
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true:silent
201+
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true:silent
202+
csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent
203+
csharp_style_prefer_pattern_matching = true:silent
204+
csharp_style_prefer_extended_property_pattern = true:suggestion
205+
csharp_style_prefer_not_pattern = true:suggestion
206+
dotnet_diagnostic.ma0037.severity = silent
207+
dotnet_diagnostic.sa1202.severity = warning
208+
csharp_style_prefer_primary_constructors = true:suggestion
209+
csharp_prefer_system_threading_lock = true:suggestion
210+
211+
# C++ Files
212+
[*.{cpp,h,in}]
213+
curly_bracket_next_line = true
214+
indent_brace_style = Allman
215+
216+
# Xml project files
217+
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
218+
indent_size = 2
219+
220+
[*.{csproj,vbproj,proj,nativeproj,locproj}]
221+
charset = utf-8
222+
223+
# Xml build files
224+
[*.builds]
225+
indent_size = 2
226+
227+
# Xml files
228+
[*.{xml,stylecop,resx,ruleset}]
229+
indent_size = 2
230+
231+
# Xml config files
232+
[*.{props,targets,config,nuspec}]
233+
indent_size = 2
234+
235+
# YAML config files
236+
[*.{yml,yaml}]
237+
indent_size = 2
238+
239+
# Shell scripts
240+
[*.sh]
241+
end_of_line = lf
242+
[*.{cmd,bat}]
243+
end_of_line = crlf
244+

Benchmark/Eliot.UELib.Benchmark.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<Nullable>enable</Nullable>
99
</PropertyGroup>
1010
<ItemGroup>
11-
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" />
11+
<PackageReference Include="BenchmarkDotNet" Version="0.15.3" />
1212
</ItemGroup>
1313
<ItemGroup>
1414
<ProjectReference Include="..\src\Eliot.UELib.csproj" />

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,33 @@
11
#
22

3+
## [1.12.0](https://github.com/EliotVU/Unreal-Library/releases/tag/1.12.0)
4+
5+
* Support for Sudden Attack 2 (a66323c4, #117 thanks to @EDITzDev)
6+
* Support for Arctic Combat (e2e14c92, #115 thanks to @EDITzDev)
7+
8+
* Improved support for Battleborn (e3b73d08, #113)
9+
* Improved support for Batman series:
10+
11+
* Support for Rotator property type
12+
* Support for ObjectProperty and ObjectNCRProperty (ComponentProperty)
13+
* Support for GuidProperty
14+
* Support for InterfaceProperty
15+
* Support for StructProperty when the tagged property and its referenced struct are in the same package as the tag.
16+
17+
* Fixed deserialization for BoolProperty (but the value is likely wrong (may require bitmask shifting)
18+
* Fixed StrProperty size
19+
* Fixed 'Public' object flag for Batman 2
20+
* Fixed several property flags for Batman (version >= 101)
21+
* Fixed the deserialization of component archetypes for Batman 2 (Skips the NetIndex under a specific circumstance)
22+
* Fixed UClass deserialization
23+
24+
* Fixed some issues with the decompilation of tagged/binary struct properties (ef9cd545, #114)
25+
* Fixed a performance regression that was caused when a package has a significant amount of 'forced' export packages (b79d32af)
26+
* Fixed a decompilation regression with {UMoJsonObject} (eb9843da, #91)
27+
* Fixed a decompilation regression where a {UState} "ignored" some functions (bfd571ce)
28+
29+
* Added a T3DDecompiler framework (aee36db9, WIP)
30+
331
## [1.11.1](https://github.com/EliotVU/Unreal-Library/releases/tag/1.11.1)
432

533
* Support for Gears of War: Ultimate Edition and Reloaded (thanks to @PaoloTK)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net9.0</TargetFramework>
5+
<LangVersion>latest</LangVersion>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
<UseVSTest>true</UseVSTest>
9+
</PropertyGroup>
10+
11+
<ItemGroup>
12+
<Content Include="T3DExamples.txt" />
13+
</ItemGroup>
14+
<ItemGroup>
15+
<PackageReference Include="coverlet.collector" Version="6.0.4">
16+
<PrivateAssets>all</PrivateAssets>
17+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18+
</PackageReference>
19+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
20+
<PackageReference Include="MSTest.Analyzers" Version="3.9.3">
21+
<PrivateAssets>all</PrivateAssets>
22+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
23+
</PackageReference>
24+
<PackageReference Include="MSTest.TestAdapter" Version="3.9.3" />
25+
<PackageReference Include="MSTest.TestFramework" Version="3.9.3" />
26+
</ItemGroup>
27+
<ItemGroup>
28+
<ProjectReference Include="..\Eliot.UELib.Decompiler.T3D\Eliot.UELib.Decompiler.T3D.csproj" />
29+
<ProjectReference Include="..\Eliot.UELib.Decompiler\Eliot.UELib.Decompiler.csproj" />
30+
<ProjectReference Include="..\Test\Eliot.UELib.Test.csproj" />
31+
</ItemGroup>
32+
33+
</Project>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
global using Microsoft.VisualStudio.TestTools.UnitTesting;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
Begin PolyList
2+
Begin Polygon Texture=myLevel.Borders2019.TechBorder03_solid Link=0
3+
Origin -01343.999634,+01823.998779,-00064.000000
4+
Normal -00001.000000,-00000.000008,+00000.000000
5+
TextureU +00000.000000,+00000.000000,-00002.000000
6+
TextureV +00000.000000,-00002.000000,+00000.000000
7+
Vertex -01279.999268,-00032.000053,-00960.000000
8+
Vertex -01279.999268,-00032.000053,-00064.000000
9+
Vertex -01279.999756,+00031.999775,-00064.000000
10+
Vertex -01279.999756,+00031.999775,-00960.000000
11+
End Polygon
12+
Begin Polygon Texture=myLevel.Borders2019.TechBorder03s_solid Link=1
13+
Origin +00895.999268,+01823.998413,-00064.000000
14+
Normal +00000.000004,+00001.000000,+00000.000000
15+
TextureU +00000.000000,+00000.000000,-00002.000000
16+
TextureV -00002.000000,+00000.000000,+00000.000000
17+
Vertex -01279.999756,+00031.999775,-00960.000000
18+
Vertex -01279.999756,+00031.999775,-00064.000000
19+
Vertex -01216.000000,+00031.999523,-00064.000000
20+
Vertex -01216.000000,+00031.999523,-00960.000000
21+
End Polygon
22+
Begin Polygon Texture=Engine.DefaultTexture Link=2
23+
Origin +00895.999268,+01823.998413,-00064.000000
24+
Normal +00001.000000,+00000.000002,-00000.000000
25+
TextureU +00000.000000,+00000.000000,+00001.000000
26+
TextureV +00000.000000,-00001.000000,+00000.000000
27+
Vertex -01216.000000,+00031.999523,-00960.000000
28+
Vertex -01216.000000,+00031.999523,-00064.000000
29+
Vertex -01215.999878,-00032.000496,-00064.000000
30+
Vertex -01215.999878,-00032.000496,-00960.000000
31+
End Polygon
32+
Begin Polygon Texture=Engine.DefaultTexture Link=3
33+
Origin +00895.999268,+01823.998413,-00064.000000
34+
Normal -00000.000007,-00001.000000,+00000.000000
35+
TextureU +00000.000000,+00000.000000,+00001.000000
36+
TextureV -00001.000000,-00000.000000,+00000.000000
37+
Vertex -01215.999878,-00032.000496,-00960.000000
38+
Vertex -01215.999878,-00032.000496,-00064.000000
39+
Vertex -01279.999268,-00032.000053,-00064.000000
40+
Vertex -01279.999268,-00032.000053,-00960.000000
41+
End Polygon
42+
Begin Polygon Texture=X_wm_misc.Editor.AntiPortal Link=4
43+
Origin -01024.000244,+00031.999928,+00256.000000
44+
Normal +00000.000000,+00000.000000,+00001.000000
45+
TextureU +00001.000000,+00000.000000,+00000.000000
46+
TextureV -00000.000000,+00001.000000,+00000.000000
47+
Vertex -01279.999756,+00031.999775,-00064.000000
48+
Vertex -01279.999268,-00032.000053,-00064.000000
49+
Vertex -01215.999878,-00032.000496,-00064.000000
50+
Vertex -01216.000000,+00031.999523,-00064.000000
51+
End Polygon
52+
Begin Polygon Texture=X_wm_misc.Editor.AntiPortal Link=5
53+
Origin -01024.000488,-00032.000282,-00256.000000
54+
Normal +00000.000000,+00000.000000,-00001.000000
55+
TextureU +00001.000000,+00000.000000,+00000.000000
56+
TextureV +00000.000000,-00001.000000,+00000.000000
57+
Vertex -01279.999268,-00032.000053,-00960.000000
58+
Vertex -01279.999756,+00031.999775,-00960.000000
59+
Vertex -01216.000000,+00031.999523,-00960.000000
60+
Vertex -01215.999878,-00032.000496,-00960.000000
61+
End Polygon
62+
End PolyList

0 commit comments

Comments
 (0)