Skip to content

Instantly share code, notes, and snippets.

@Kaldaien
Kaldaien / valve_delete.md
Created July 8, 2025 06:25
Why I Deleted My Steam Account After 20 Years

Why I Deleted My Steam Account After 20 Years

Some may know me from over a decade worth of modding broken, under-performing or otherwise inconvenient aspects of PC ports. Dedicated users of Special K also know that I have spent as much time battling problems caused by Steam as I have defects in the games themselves.

My experience with PC gaming goes back a further two decades, to the days of shareware, dialing into a BBS to get game patches / user generated content and tedious DRM fetch-quests involving physical game manuals. I was irritated when Half-Life 2 shipped on PC and required a dedicated piece of software to satisfy DRM and patch the game, but at the time these were minor inconveniences. Valve tried to quell concerns of software preservation with the first of a long series of lies wherein they claimed to have a contingency plan for the DRM scheme reaching end-of-life.

   Steam's DRM scheme has reached end-of-life multiple times without the promised parachute.

In 2002, the cl

@Kaldaien
Kaldaien / sk_hdr_png.hpp
Created November 21, 2024 19:57
HDR10 PNG encoding
#pragma once
#ifdef SK_HDR_PNG_RESHADE
#include "reshade_api.hpp"
#include <com_ptr.hpp>
using display = reshade::api::display*;
#else
#include <atlbase.h>
using com_ptr = CComPtr;
using display = void*;
@Kaldaien
Kaldaien / sekiro.cpp
Last active May 2, 2020 11:46
Pre-release source code for Sekiro Special K plug-in
#define __SK_SUBSYSTEM__ L"Sekiro Fix"
#include <WinSock2.h>
#include <ws2tcpip.h>
#include <SpecialK/hooks.h>
#include <SpecialK/utility.h>
#include <SpecialK/parameter.h>
sk::ParameterFactory factory;
@Kaldaien
Kaldaien / event-wait timing and throtling
Last active July 20, 2018 04:36
Rate-adjusted job scheduling (throttling) -- Proper solution needs to focus on keeping rate changes increasing / decreasing monotonically
float
SK_Sched_ThreadContext::most_recent_wait_s::getRate (void)
{
if (sequence > 0)
{
float ms =
SK_DeltaPerfMS (
SK_CurrentPerf ().QuadPart - (last_wait.QuadPart - start.QuadPart), 1
);
//
// Copyright 2018 Andon "Kaldaien" Coleman
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
[Display.Output]
ForceFullscreen=false
ForceWindowed=false
[Render.FrameRate]
TargetFPS=-60.0
LimiterTolerance=1.666
SleeplessRenderThread=false
SleeplessWindowThread=false
EnableMMCSS=true
@Kaldaien
Kaldaien / d3d11_shaders.ini
Last active March 22, 2023 17:08
More interesting Blue Reflection school uniforms :)
[DrawState.Vertex]
017eba67=Disable,
5603a466=Disable,
6338b7fe=Disable,
6b0960df=Disable,
9b2e1e28=Disable,
a6026b20=Disable,
aabb63ea=Disable,
[DrawState.Pixel]
@Kaldaien
Kaldaien / SpecialK.ini
Created August 2, 2017 15:35
Fallout 4 Optimal Settings
[Compatibility.General]
IgnoreRaptr=false
DisableRaptr=false
DisableBloatWare_NVIDIA=false
RehookLoadLibrary=false
[SpecialK.System]
ShowEULA=false
InitDelay=250
Silent=false
@Kaldaien
Kaldaien / cvars.txt
Created March 27, 2017 04:52
Special K Console Variables
;
; (Press Ctrl + Shift + Tab (keybinding not customizable yet) to open command console)
;
; The command console will pause any Steam Overlay aware game until you close it by pressing
; the command console binding a second time.
;
; You can cycle through previous (successful) commands / variables by pressing Up/Down
;
; Many of these variables have a corresponding entry in various config files, changing
; them through the command console will permanently change them in the config file.
03/26/2017 18:47:36.140: [ DXGI ] SwapChain: (1600x1024 @ 60.0 Hz - Scaling: Stretched) - {Windowed} [3 Buffers] :: Flags=0x0000, SwapEffect: Discard
03/26/2017 18:47:36.140: [ DXGI ] >> Scaling Override (Requested: DXGI_MODE_SCALING_STRETCHED, Using: DXGI_MODE_SCALING_UNSPECIFIED)
03/26/2017 18:47:36.140: [ DXGI 1.2 ] >> Using Traditional Presentation Model [Waitable: No - 0 ms]
03/26/2017 18:47:36.158: [ DXGI ] [@] Return: S_OK - < CreateSwapChain_Original (This, pDevice, pDesc, ppSwapChain) >
03/26/2017 18:47:36.177: Bloom Tex
03/26/2017 18:47:36.177: Bloom Tex
...
03/26/2017 18:47:37.138: [ DXGI ] [!] IDXGISwapChain::SetFullscreenState (0, 0000000000000000h) -- [ NieRAutomata.exe, tid=0x42a8 ]
03/26/2017 18:47:37.138: [ DXGI ] [@] Return: S_OK - < SetFullscreenState_Original (This, Fullscreen, pTarget) >
03/26/2017 18:47:37.138: [ DXGI ] [!] IDXGIFactory4::CreateSwapChain (0000000005946040h, 000000000014FB90h, 000000000F997E50h) -- [ NieRAutomata.exe, tid=0x42a8 ]