diff --git a/docs/community/libraries/cpp/meta.json b/docs/community/libraries/cpp/meta.json new file mode 100644 index 00000000..bda4f71f --- /dev/null +++ b/docs/community/libraries/cpp/meta.json @@ -0,0 +1 @@ +{ "title": "C++" } diff --git a/docs/community/libraries/cpp/sourcepp.md b/docs/community/libraries/cpp/sourcepp.md new file mode 100644 index 00000000..69aa3b9f --- /dev/null +++ b/docs/community/libraries/cpp/sourcepp.md @@ -0,0 +1,47 @@ +--- +title: SourcePP +weight: 0 +features: +--- + + + + + + + + + + + + + + + + + + + + + + +
Authorcraftablescience
Websitesourcepp.org
Source CodeGitHub
DescriptionSeveral modern C++20 libraries for sanely parsing Valve formats.
Actively Maintained?Yes
+ +# SourcePP +SourcePP is a set of open-source, MIT-licensed libraries that can parse many +different formats related to the Source engine. + +List of libraries included: +| Name | Description | +|----------|-----------------------------------------------------------| +| bsppp | Parser for binary space partition files | +| fspp | Source engine filesystem accessor | +| gamepp | Control Source engine games remotely using RCON | +| kvpp | KeyValues v1 and DMX (KV2) parser | +| mdlpp | MDL, VVD, and VTX parser | +| sndpp | WAV and XWV (v0, v1, and v4) parsers | +| steampp | Get information about installed Steam games | +| toolpp | FGD/WC parsers | +| vcryptpp | VICE encrypted files and VFONT files | +| vpkpp | Parsers for many different pack files | +| vtfpp | Decoders for VTF textures as well as common image formats | diff --git a/docs/community/libraries/cpp/speedykeyv.md b/docs/community/libraries/cpp/speedykeyv.md new file mode 100644 index 00000000..c4976f8e --- /dev/null +++ b/docs/community/libraries/cpp/speedykeyv.md @@ -0,0 +1,27 @@ +--- +title: SpeedyKeyV +weight: 0 +features: +--- + + + + + + + + + + + + + + + + + + +
AuthorOzxyBox
Source CodeGitHub
DescriptionA decently fast KeyValue parser built for usability
Actively Maintained?No
+ +# SpeedyKeyV +SpeedyKeyV is an open-source C++ library for KeyValues parsing. diff --git a/docs/community/libraries/meta.json b/docs/community/libraries/meta.json new file mode 100644 index 00000000..46f6608b --- /dev/null +++ b/docs/community/libraries/meta.json @@ -0,0 +1 @@ +{ "title": "Libraries" } diff --git a/docs/community/misc.md b/docs/community/misc.md new file mode 100644 index 00000000..ec5da941 --- /dev/null +++ b/docs/community/misc.md @@ -0,0 +1,54 @@ +--- +title: Miscellaneous +weight: 0 +features: +--- + +# Miscellaneous +A list of other useful tools that don't fit in the other lists. + +## Language support +### Source Engine VSCode plugin + + + + + + + + + + + + + + + + + + + + + +
AuthorStefan Heinz
DownloadStefan Heinz
Source CodeGitHub
DescriptionA VSCode plugin adding intelligent syntax highlighting and additional tooling for Source Engine file formats.
Actively Maintained?Yes
+ + +### Panorama Resources + + + + + + + + + + + + + + + + + +
Authorbraem
Source CodeGitHub
DescriptionA collection of utilities for working with Panorama scripts and stylesheets.
Actively Maintained?No
diff --git a/docs/community/programs/maretf.md b/docs/community/programs/maretf.md new file mode 100644 index 00000000..f709de50 --- /dev/null +++ b/docs/community/programs/maretf.md @@ -0,0 +1,62 @@ +--- +title: MareTF +weight: 0 +features: +--- + + + + + + + + + + + + + + + + + + + + + + + + + + +
Authorcraftablescience
Websitemaretf.me
DownloadGitHub releases
Source CodeGitHub
DescriptionA utility to create, edit, and display every type of VTF file ever made.
Actively Maintained?Yes
+ +# MareTF +MareTF is an all-in-one texture utility for the Source engine. +It supports creating and viewing all VTF versions and formats, and there are GUI and command-line executables. + +## Creating VTFs through the GUI +You can easily create new VTFs through two methods: + - Selecting an image by clicking the 'Create' button + - Selecting a folder of files to convert using the 'Create en Masse' button. + +## Creating VTFs through the terminal +Here is an example command to create a new VTF: +```bash +maretf create input.png \ # Create a new VTF from `input.png` + --version 7.6 \ # ...with version 7.6 + --format DXT1 \ # ...using the DXT1 format + --filter KAISER # ...and resizing the texture using the Kaiser filter. +``` +You can also get info about a VTF. +```bash +> maretf info /path/to/my.vtf + +/path/to/my.vtf + + ――― FORMAT ――― +Platform: PC +Version: 7.4 + +... +``` diff --git a/docs/community/programs/meta.json b/docs/community/programs/meta.json new file mode 100644 index 00000000..aa4d4328 --- /dev/null +++ b/docs/community/programs/meta.json @@ -0,0 +1 @@ +{ "title": "Programs" } diff --git a/docs/community/programs/vpkedit.md b/docs/community/programs/vpkedit.md new file mode 100644 index 00000000..3b05233c --- /dev/null +++ b/docs/community/programs/vpkedit.md @@ -0,0 +1,32 @@ +--- +title: VPKEdit +weight: 5 +features: +--- + + + + + + + + + + + + + + + + + + + + + + +
Authorcraftablescience
DownloadGitHub releases
Source CodeGitHub
DescriptionA CLI/GUI tool to create, read, and write several pack file formats.
Actively Maintained?Yes
+ +# VPKEdit +VPKEdit can create and edit pack files of various formats. +It has a GUI version as well as a CLI version. diff --git a/docs/community/tools_util/meta.json b/docs/community/tools_util/meta.json deleted file mode 100644 index c01296f6..00000000 --- a/docs/community/tools_util/meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "title": "Community Tools & Utilities" -} \ No newline at end of file diff --git a/docs/community/tools_util/tool_main.md b/docs/community/tools_util/tool_main.md deleted file mode 100644 index 95dfdbb1..00000000 --- a/docs/community/tools_util/tool_main.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: Tools & Utilities Main Page ---- - -> [!NOTE] -> This page is non-exhaustive. If you have a suggestion for a stable/useful tool that would fit in here, create a PR for it! - -# Open Source Tools & Utilities - -This page serves as a list of open source tools & utilities to work with Strata Source (and Strata Games) with credits to respective authors and potential links to separate pages. -In addition, this is akin to a "guide", specifying when you would want to use the given tool. - - - - ---- -# TEXTURES ---- - -## MareTF - -[MareTF](https://github.com/craftablescience/MareTF) - An open source utility to create, edit and display VTF files. - -**Use Cases:** -* VTF texture creation, conversion and manipulation. -* Drop-in replacement for vtex2. -* Replacement for Valve's original vtex tool. -* Native Linux alternative to VTFEdit/VTFCmd. - -**Authors:** -* craftablescience & koerismo - -## VTFEdit Reloaded -[VTFEdit Reloaded](https://developer.valvesoftware.com/wiki/VTFEdit_Reloaded) - a fork of the original VTFEdit, with some QoL and fixes (Dark Mode VMT editor, fixed cubemap previews, etc.) - -**Use Cases:** -* Anytime you want to use VTFEdit. - -**Authors:** -* Neil "Jed" Jedrzejewski -* Ryan "Nemesis" Gregg -* Fork by Skyrym and Joshua Ashton - -## vtex2 (Deprecated) -[vtex2](/modding/util/vtex2) - an open-source successor to Valve's vtex tool made by the Strata team, it comes packed with a Qt-based GUI named vtfview. - -Deprecated in favor of MareTF. - -**Use Cases:** -* Quick VTF conversion alternative to VTFEdit -* As a replacement for the original vtex. -* Native Linux alternative to VTFEdit/VTFCmd - -**Authors:** -* Strata Source Team & Contributors - - ---- -# FILES ---- - -[VPKEdit](https://github.com/craftablescience/VPKEdit) - CLI/GUI tool to handle multiple pack formats (creation, reading, writing) such as VPK, WAD, BMZ, BEE_PACK. - -## VPKEdit - -**Use Cases:** -- You want a good tool to handle package formats such as VPK -- Native Linux Support - -**Authors:** -* craftablescience and contributors - -ㅤ -ㅤ -ㅤ - ---- -# PROGRAMMING ---- - -## sourcepp - -[sourcepp](https://github.com/craftablescience/sourcepp) - modern open-source collection of libraries written in C++20 to parse Valve formats, with Python wrappers included. - -**Use Cases:** -* You need a sane parser for most Valve file formats associated with the Source Engine. -* Something more "modern", thanks to its C++20 implementation. -* A swiss-army knife powerhouse of parsers. - -**Authors:** -* craftablescience & contributors - -ㅤ -ㅤ -ㅤ - -## VTFLib - -> [!CAUTION] -> VTFLib has some "quirks" from the old days of Source and from its age. One such thing is that VTFLib cannot parse textures which's dimensions aren't power of 2, and has middling error handling. - -[VTFLib](https://github.com/NeilJed/VTFLib) - open-source C/C++ library meant for parsing and working with the Valve Texture Format (VTF). -The original VTFCmd and VTFEdit are part of the same repository. - -**Use Cases:** -* If you want to have a reliable, yet archaic VTF library. -* When sourcepp's vtfpp does not support a feature that VTFLib does. - -**Authors:** -* Neil "Jed" Jedrzejewski -* Ryan "Nemesis" Gregg -ㅤ -ㅤ -ㅤ - -## datamodel-rs - -[datamodel-rs](https://crates.io/crates/datamodel) - work-in-progress Rust library meant for serialization and deserialization of Valve's DMX format, supporting binary v1-5, KV2 and KV2_flat. - -**Use Cases:** -* DMX/KV2 are rather commonly used around Source 1/2 (such as the .vmap file format which is DMX binary v4, the DMX model, particle files), sourcepp only supports the Binary version of DMX, but not the ASCII encoded version of DMX (KeyValues2), as a result, if you for some reason need to support the ASCII encoded one aswell, this is the choice. -* Want to write a tool/CLI/app for DMX/KV2 files in Rust rather than C/C++ - -**Authors:** -* jakobg1215 - -ㅤ -ㅤ -ㅤ - -## Source Engine VSCode Plugin - -[Source Engine Support](https://marketplace.visualstudio.com/items?itemName=stefan-h-at.source-engine-support) - plugin for Visual Studio Code that adds support for the Source Engine file types (vmt, KV, fgd, qc, cfg, vpc, vgc, smd, fxc, fxc.h, lights.rad), additionally it can allow you to compile the .qc or subtitles files directly inside the extension. - -**Use Cases:** -* If you find yourself working a lot with the human-readable text-based Source formats, it is a very good option. - -**Authors:** -* Stefan Heinz -ㅤ -ㅤ -ㅤ - - -## SpeedyKeyV - -[SpeedyKeyV](https://github.com/ozxybox/SpeedyKeyV) - fast C++ parsing library for the KeyValues format. Nothing less, nothing more. - -**Use Cases:** -* You want to parse keyvalues at a reasonably fast pace. - -**Authors:** -* Ozxybox - -ㅤ -ㅤ -ㅤ - ---- -# UI ---- -## Panorama Resources -[braem's Panorama Languages Support](https://github.com/panorama-languages-support) - a collection of different utilities (such as VSCode support for Panorama's CSS3) for working with Panorama UI - - -**Use Cases:** -* Whenever you are working with Panorama UI - -**Authors:** -* braem