Table of contents:
- Introduction
- Why should I use Snark over Crowbar?
-
Easier to configure and use
Natively runs on Windows and Linux
Better detection of unsupported features with compilers - Frequently Asked Questions
-
Why is this an Alpha release?
Will there be support for Source?
There is a bug/feature I would like to get fixed/implemented, how can I report it? - External libraries/programs used
Snark is a cross-platform alternative to the Crowbar program for GoldSRC modders that not only aims to provide a similar workflow than what Crowbar provides, but also aims to create an experience that requires the least amount of configuration possible.
In Crowbar, to decompile a model, you would have to fiddle around with lots of settings in order to get your model decompiled properly for GoldSRC. With Snark, the whole process is streamlined and optimised for the engine. The options needed by the decompiler are much fewer, and there are quick setup presets ready to tailor it for your preferred compiler and modelling program in no time!
On top of that, the compiling GUI includes all the command-line options as toggleable checks with tooltips to tell you what they do, so you don't need to check any sort of documentation, official or unofficial, to use the advanced features StudioMDL offers its users.
Snark is written using Python & Tkinter, which means that native support for the major operating systems can be easily offered. You no longer need to run Crowbar under Wine for Linux systems to make models for GoldSRC, instead you can run Snark natively with proper Linux binaries. Wine will still be needed to run the compilers that Snark interfaces with, make sure you have the system package installed instead of the Flatpak!
There are many different model compilers for GoldSRC, such as the Sven Co-op compiler, that introduce new features that aren't supported in other games utilising the engine. Snark uses a profile system to track which compiler and game you're using, so any discrepancies between what the compiler and game supports doesn't go unnoticed by the program. For example, if you use the Svengine compiler with Half-Life instead of Sven Co-op, the compiler will warn you that Half-Life doesn't support 1024px textures or chrome textures that aren't 64x64 resolution if any of them are included in the model files.
I've made Snark an early alpha release as it isn't fully featured yet (though most things you'd need is already implemented in the program) and may contain bugs and issues that I have yet to iron out. But the most important thing is that I want the community to be involved in the development process, as I can't make a program that fulfills everyone's needs without their input, the things that have been implemented already are related to stuff that I already have a ton of experience (and knowledge) working on. Making Snark an alpha release allows me to achieve those goals!
In short, no. If you want a longer answer, the reason why I won't be implementing Source support is that I have little to no experience working with the engine, my only experience is making a GMod playermodel (which I never finished). Another reason for not implementing Source support is that it would ruin Snark's simplicity since it is designed to interface with GoldSRC only, and trying to make a one-size-fits-all solution would make things more complex.
If you want a bug to be fixed, open up an issue on the Github Repo and describe the issue, with steps to reproduce, operating system information, and/or terminal logs if applicable. If the program doesn't automatically open up with a terminal by default, then open up a terminal either by right-clicking and clicking 'Open in Terminal' in the context menu that pops up on Linux systems or on Windows systems, click the bar that shows the path to Snark and type 'cmd', then type in the name of the executable and hit enter (on Linux systems you need to type in './' before the executable name, otherwise the system will think it's a terminal command and not an executable). If it is a feature request, tag it as a feature request and describe what you want to have implemented into Snark. You can check the Official Snark Development Tracker to see your bug report or feature request while it's in progress.
Snark uses some libraries for proper usage, these libraries along with their licenses are shown in the table below:
| Library/Program | License |
|---|---|
| Xash Model Decompiler | GPL |
| get_image_size | MIT |
| tktooltip (custom fork, original at python-ui) | MIT |
| jsonc | MIT |
| GeckoN's v6 MDL Decompiler | Proprietary |
| Sven Co-op StudioMDL | Proprietary |