Skip to content

Instantly share code, notes, and snippets.

@dvessel
dvessel / dolphin-texture-notes.md
Created January 2, 2023 17:52
notes on working with texture packs.

Texture Packs and Resource Packs Information

https://forums.dolphin-emu.org/Thread-how-to-install-texture-packs-custom-textures-info

DDS vs. PNG Packs:

You NEVER want to use both a PNG and DDS pack together, always pick one or the other. The short version is, if a texture pack author provides both a DDS and PNG version of their texture/resource pack, you most likely want to use the DDS version. The reason is that DDS is much faster to load than PNG and is less likely to "stutter" when textures are loaded in. There is a caveat to DDS textures, and that is reduced image quality. But, a properly created DDS texture pack will be nearly indistinguishable from its PNG counterpart.

There are several types of DDS formats, ranging from BC1-BC7, and can also be known as DXT1-DXT5. The format that users should be concerned about in regards to Dolphin texture packs is the BC7 format. If a texture pack is using BC7 DDS textures, the user must have a DX11 capable GPU or the textures will not load. In this case, the

url scheme:
x-apple.systempreferences:com.apple.KEY[.KEY]?SUB-PANE
examples:
x-apple.systempreferences:com.apple.systempreferences.AppleIDSettings?iCloud
x-apple.systempreferences:com.apple.preference.keyboard?Shortcuts
urls:
com.apple.systempreferences.ApplelDSettings
= Resources =
* zsh - http://www.zsh.org/
* ZSH-LOVERS - http://grml.org/zsh/zsh-lovers.html
* manual - http://zsh.sourceforge.net/Doc/Release/index.html
* oh-my-zsh - https://github.com/robbyrussell/oh-my-zsh
* prezo - https://github.com/sorin-ionescu/prezto
* zsh-users - https://github.com/zsh-users
= Functions =
@dvessel
dvessel / F-Zero-Sand-Ocean-Intro.dtm
Last active September 4, 2023 19:30
Dolphin graphics backend performance comparison.
@dvessel
dvessel / G2ME01.sh
Last active November 23, 2022 21:30
Command line launcher for Dolphin emulator. (MacOS)
#!/bin/zsh
# Metroid Prime 2
ignore_dir="$dump/- ignore"
linked_dir="$dump/- linked"
review_dir="$dump/- review"
mkdir -p $ignore_dir $linked_dir $review_dir $load
ln -sf $linked_dir $load
@dvessel
dvessel / link-loaded-textures
Last active November 23, 2022 21:30
Throw it into a bin path, cd into it and `chmod +x link-loaded-textures`.

Tested Settings

hacks tab advanced tab
Graphic options, hacks tab. Displayed with default settings for both tabs. Graphic options, advanced tab.

Recommended settings

Tested on a 2021 16" MacBook Pro M1 Max. These settings should apply to other M1 Mac's, relatively speaking.

Supported compression types in Dolphin

Taken from S3_Texture_Compression (Wikipedia) and condensed to what's relevant to Dolphin's texture support.

Codecs

There are five three variations of the S3TC algorithm (named DXT1 through DXT5, referring to the FourCC code assigned by Microsoft to each format), each designed for specific types of image data. All convert a 4×4 block of pixels to a 64-bit or 128-bit quantity, resulting in compression ratios of 6:1 with 24-bit RGB input data or 4:1 with 32-bit RGBA input data. S3TC is a lossy compression algorithm, resulting in image quality degradation, an effect which is minimized by the ability to increase texture resolutions while maintaining the same memory requirements. Hand-drawn cartoon-like images do not compress well which usually generate artifacts.

Like many modern image compression algorithms, S3TC only specifies the method used to decompress images, allowing implementers to design the compre

@dvessel
dvessel / fbrew
Last active March 28, 2025 11:30
search through 🍺 formulae/casks with fzf. `brew install fzf` first.
#!/usr/bin/env zsh
set -e
local pkgdef _pkgdef
zparseopts -D -E - {-formula,-formulae,-cask}=_pkgdef
# conditional output based on the homebrew package definition being worked on.
# example: `c.pkgdef output-for-formula output-for-cask`
# if `--formula` is passed to this script, `output-for-formula` will be output.
@dvessel
dvessel / chd-helpers.sh
Last active July 18, 2023 07:22
Helper functions to bulk convert bin/cue or gdi files to chd's and back.
#!/bin/zsh
# - Requires homebrew. https://brew.sh
# - Converted files will be moved to the current working directory in all cases.
# - You can pass the starting directory for fzf search functions.
# - Pass in glob patterns for the standalone function to convert in bulk.
# For example, to convert gdi's in a sub-directory: chd.create */*.gdi
alias chd.fzf.create='_fzf-paths-to chd.create f ".(gdi|cue)$"'
alias chd.fzf.extract-to-cue='_fzf-paths-to chd.extract-to-cue f .chd$'