-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9064e33
commit 9f32bf4
Showing
62 changed files
with
3,748 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,99 @@ | ||
# CleanTF2 | ||
|
||
A command-line version of [CleanTF2plus](https://github.com/JarateKing/CleanTF2plus) by [JarateKing](https://github.com/JarateKing). | ||
A command-line tool that generates flattened textures for Team Fortress 2. | ||
Based on [CleanTF2plus](https://github.com/JarateKing/CleanTF2plus) by [JarateKing](https://github.com/JarateKing). | ||
|
||
To download and install the textures, see [Download](#Download). | ||
|
||
## Download | ||
|
||
1. View the [latest release](https://github.com/theaswanson/CleanTF2/releases) | ||
2. Download the .vpk files | ||
3. Place in your `../Team Fortress 2/tf/custom` folder | ||
|
||
## Using the tool | ||
|
||
> Only Windows is supported at this time. | ||
### Prerequisites | ||
|
||
Before running the tool, ensure the following files and folders are present: | ||
|
||
```text | ||
some-folder/ | ||
├─ CleanTF2.CLI.exe | ||
├─ flat.txt | ||
├─ flat_hl2.txt | ||
├─ Magick.Native-Q16-x64.dll | ||
├─ lib/ | ||
│ ├─ DevIL.dll | ||
│ ├─ HLExtract.exe | ||
│ ├─ HLLib.dll | ||
│ ├─ VTFCmd.exe | ||
│ ├─ VTFLib.dll | ||
``` | ||
|
||
- `lib` | ||
- Folder containing third-party tools ([HLLib](https://developer.valvesoftware.com/wiki/HLLib) and [VTFLib](https://developer.valvesoftware.com/wiki/VTFLib)) that are used to extract and convert TF2's textures. | ||
- `flat.txt` | ||
- Specifies which TF2 textures to flatten. You can modify this list if you wish. | ||
- `flat_hl2.txt` | ||
- Specifies which Half-Life 2 textures to flatten. You can modify this list if you wish. | ||
- `Magick.Native-Q16-x64.dll` | ||
- Third-party tool ([Magick.NET](https://github.com/dlemstra/Magick.NET)) used to flatten the textures. | ||
|
||
### Usage | ||
|
||
1. Generate the textures | ||
1. To generate a .vpk with flattened textures: `CleanTF2.CLI.exe flatten` | ||
1. This will use the default TF2 directory `"C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2"` | ||
2. To use a different TF2 folder: `CleanTF2.CLI.exe flatten -d "C:\your\install\directory\for\Team Fortress 2"` | ||
3. To generate flattened textures to a folder: `CleanTF2.CLI.exe flatten --output-type 2` | ||
2. Move the textures (either the .vpk files or the .vtf files) into the `tf/custom` folder | ||
|
||
When using .vpks: | ||
|
||
```text | ||
tf/ | ||
├─ custom/ | ||
│ ├─ flat-textures_000.vpk | ||
│ ├─ flat-textures_dir.vpk | ||
``` | ||
|
||
When using texture files: | ||
|
||
```text | ||
tf/ | ||
├─ custom/ | ||
│ ├─ flat-textures/ | ||
│ │ ├─ materials/ | ||
│ │ │ ├─ concrete/ | ||
│ │ │ ├─ wall/ | ||
│ │ │ ├─ harvest/ | ||
│ │ │ ├─ etc./ | ||
``` | ||
|
||
### Command Help Text | ||
|
||
```text | ||
USAGE: | ||
CleanTF2.CLI.exe flatten [OPTIONS] | ||
OPTIONS: | ||
-h, --help Prints help information | ||
-d Full path to the Team Fortress 2 directory (the directory that contains the hl2 executable) | ||
--output-type 1: .vpk files (default), 2: material files | ||
--upscale Upscales flattened textures to 1024x1024. Helps address compatibility problems with sv_pure. | ||
(warning: takes more file size and processing time) | ||
``` | ||
|
||
## Images | ||
|
||
 | ||
 | ||
|
||
 | ||
 | ||
|
||
 | ||
 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
# To learn more about .editorconfig see https://aka.ms/editorconfigdocs | ||
############################### | ||
# Core EditorConfig Options # | ||
############################### | ||
# All files | ||
[*] | ||
indent_style = space | ||
|
||
# XML project files | ||
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] | ||
indent_size = 2 | ||
|
||
# XML config files | ||
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] | ||
indent_size = 2 | ||
|
||
# Code files | ||
[*.{cs,csx,vb,vbx}] | ||
indent_size = 4 | ||
insert_final_newline = true | ||
charset = utf-8-bom | ||
############################### | ||
# .NET Coding Conventions # | ||
############################### | ||
[*.{cs,vb}] | ||
# Organize usings | ||
dotnet_sort_system_directives_first = true | ||
# this. preferences | ||
dotnet_style_qualification_for_field = false:silent | ||
dotnet_style_qualification_for_property = false:silent | ||
dotnet_style_qualification_for_method = false:silent | ||
dotnet_style_qualification_for_event = false:silent | ||
# Language keywords vs BCL types preferences | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:silent | ||
dotnet_style_predefined_type_for_member_access = true:silent | ||
# Parentheses preferences | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent | ||
# Modifier preferences | ||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent | ||
dotnet_style_readonly_field = true:suggestion | ||
# Expression-level preferences | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent | ||
dotnet_style_prefer_inferred_tuple_names = true:suggestion | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | ||
dotnet_style_prefer_auto_properties = true:silent | ||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | ||
dotnet_style_prefer_conditional_expression_over_return = true:silent | ||
############################### | ||
# Naming Conventions # | ||
############################### | ||
# Style Definitions | ||
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | ||
# Use PascalCase for constant fields | ||
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields | ||
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style | ||
dotnet_naming_symbols.constant_fields.applicable_kinds = field | ||
dotnet_naming_symbols.constant_fields.applicable_accessibilities = * | ||
dotnet_naming_symbols.constant_fields.required_modifiers = const | ||
############################### | ||
# C# Coding Conventions # | ||
############################### | ||
[*.cs] | ||
# var preferences | ||
csharp_style_var_for_built_in_types = true:silent | ||
csharp_style_var_when_type_is_apparent = true:silent | ||
csharp_style_var_elsewhere = true:silent | ||
# Expression-bodied members | ||
csharp_style_expression_bodied_methods = false:silent | ||
csharp_style_expression_bodied_constructors = false:silent | ||
csharp_style_expression_bodied_operators = false:silent | ||
csharp_style_expression_bodied_properties = true:silent | ||
csharp_style_expression_bodied_indexers = true:silent | ||
csharp_style_expression_bodied_accessors = true:silent | ||
# Pattern matching preferences | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
# Null-checking preferences | ||
csharp_style_throw_expression = true:suggestion | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
# Modifier preferences | ||
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion | ||
# Expression-level preferences | ||
csharp_prefer_braces = true:silent | ||
csharp_style_deconstructed_variable_declaration = true:suggestion | ||
csharp_prefer_simple_default_expression = true:suggestion | ||
csharp_style_pattern_local_over_anonymous_function = true:suggestion | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
############################### | ||
# C# Formatting Rules # | ||
############################### | ||
# New line preferences | ||
csharp_new_line_before_open_brace = all | ||
csharp_new_line_before_else = true | ||
csharp_new_line_before_catch = true | ||
csharp_new_line_before_finally = true | ||
csharp_new_line_before_members_in_object_initializers = true | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
csharp_new_line_between_query_expression_clauses = true | ||
# Indentation preferences | ||
csharp_indent_case_contents = true | ||
csharp_indent_switch_labels = true | ||
csharp_indent_labels = flush_left | ||
# Space preferences | ||
csharp_space_after_cast = false | ||
csharp_space_after_keywords_in_control_flow_statements = true | ||
csharp_space_between_method_call_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_parameter_list_parentheses = false | ||
csharp_space_between_parentheses = false | ||
csharp_space_before_colon_in_inheritance_clause = true | ||
csharp_space_after_colon_in_inheritance_clause = true | ||
csharp_space_around_binary_operators = before_and_after | ||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
# Wrapping preferences | ||
csharp_preserve_single_line_statements = true | ||
csharp_preserve_single_line_blocks = true | ||
############################### | ||
# VB Coding Conventions # | ||
############################### | ||
[*.vb] | ||
# Modifier preferences | ||
visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion | ||
|
||
# Prefix private members with _ | ||
# https://github.com/dotnet/roslyn/issues/22884#issuecomment-358776444 | ||
[*.{cs,vb}] | ||
dotnet_naming_rule.private_members_with_underscore.symbols = private_fields | ||
dotnet_naming_rule.private_members_with_underscore.style = prefix_underscore | ||
dotnet_naming_rule.private_members_with_underscore.severity = suggestion | ||
|
||
dotnet_naming_symbols.private_fields.applicable_kinds = field | ||
dotnet_naming_symbols.private_fields.applicable_accessibilities = private | ||
|
||
dotnet_naming_style.prefix_underscore.capitalization = camel_case | ||
dotnet_naming_style.prefix_underscore.required_prefix = _ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<OutputType>Exe</OutputType> | ||
<TargetFramework>net6.0</TargetFramework> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<Nullable>disable</Nullable> | ||
<Authors>crisp2020</Authors> | ||
<RepositoryUrl>https://github.com/theaswanson/CleanTF2</RepositoryUrl> | ||
<PackageReadmeFile>README.md</PackageReadmeFile> | ||
<RepositoryType>git</RepositoryType> | ||
<Description>Generate flat textures for Team Fortress 2.</Description> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup Condition="'$(Configuration)'=='Release'"> | ||
<DebugSymbols>False</DebugSymbols> | ||
<DebugType>None</DebugType> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<None Include="..\..\README.md"> | ||
<Pack>True</Pack> | ||
<PackagePath>\</PackagePath> | ||
</None> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" /> | ||
<PackageReference Include="Spectre.Console" Version="0.44.0" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\CleanTF2.Core\CleanTF2.Core.csproj" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<None Update="lib\DevIL.dll"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
<None Update="flat.txt"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
<None Update="flat_hl2.txt"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
<None Update="lib\HLExtract.exe"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
<None Update="lib\HLLib.dll"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
<None Update="lib\license_HLExtract.txt"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
<None Update="lib\license_HLLib.txt"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
<None Update="lib\license_VTFCmd.txt"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
<None Update="lib\license_VTFLib.txt"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
<None Update="lib\VTFCmd.exe"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
<None Update="lib\VTFLib.dll"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</None> | ||
</ItemGroup> | ||
|
||
</Project> |
Oops, something went wrong.