Skip to content

Instantly share code, notes, and snippets.

@Trass3r
Trass3r / CMakeLists.txt
Created March 1, 2020 19:16
template for OpenGL with CMake, Conan, glad and glfw
cmake_minimum_required(VERSION 3.16)
set(CMAKE_CONFIGURATION_TYPES Debug Release CACHE STRING "" FORCE)
set(CMAKE_BUILD_TYPE Debug CACHE STRING "")
project(cppgl)
set(CMAKE_CXX_STANDARD 20)
if (NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
@Trass3r
Trass3r / dll2lib.bat
Last active February 10, 2024 07:48
generate import library from a dll
@echo off
REM Usage: dll2lib [32|64] some-file.dll
REM
REM Generates some-file.lib from some-file.dll, making an intermediate
REM some-file.def from the results of dumpbin /exports some-file.dll.
REM
REM Requires 'dumpbin' and 'lib' in PATH - run from VS developer prompt.
REM
REM Script inspired by http://stackoverflow.com/questions/9946322/how-to-generate-an-import-library-lib-file-from-a-dll
[
"-i",
"VID.mp4",
"-map", "0:a", "-c:a", "copy",
"rec.m4a"
]
cd %USERPROFILE%\Desktop\ViVeTool-v0.3.3
ViVeTool.exe /query /id:36354489,37634385,39145991
vivetool /fullreset
vivetool /disable /id:40729001,37634385
@Trass3r
Trass3r / d3d.h
Last active August 21, 2023 20:46
standalone/stripped/enumified headers for DirectDraw, DirectSound, QSound
#define _Pre_null_
#define _Outptr_
#define _In_
#define _Out_
#define _In_opt_
#define _Out_opt_
#define _Out_writes_bytes_(x)
#define _Out_writes_bytes_opt_(x)
#define _Outptr_result_bytebuffer_(x)
#define _Outptr_opt_result_bytebuffer_(x)
@Trass3r
Trass3r / CompressWSLdisks.ps1
Last active August 3, 2023 12:47
Reduces disk space taken by the WSL and Docker vhdx files
$ErrorActionPreference = "Stop"
$files = Get-ChildItem -Path C:\Users -Recurse -Include "ext4.vhdx" -Force -ErrorAction SilentlyContinue | Select-Object FullName, Length
wsl -u root fstrim /
foreach ($file in $files) {
echo "Compacting $file"
wsl --shutdown
Mount-VHD -Path $file.FullName -ReadOnly
@Trass3r
Trass3r / docker-wsl.sh
Created August 1, 2023 16:44
setup Docker in WSL2
# https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
@Trass3r
Trass3r / boost_stacktrace.cpp
Created May 22, 2023 17:56
boost stacktrace enabler
#define BOOST_STACKTRACE_USE_ADDR2LINE 1
//#define BOOST_STACKTRACE_USE_BACKTRACE 1
#include <boost/stacktrace.hpp>
#include <signal.h> // ::signal, ::raise
void my_signal_handler(int signum)
{
::signal(signum, SIG_DFL);
// boost::stacktrace::safe_dump_to("./backtrace.dump");
std::cout << boost::stacktrace::stacktrace();
ldmd2 -i -O -release -inline -L--gc-sections -Xcc=-static-libgcc dustmite.d -v
docker run --rm -it -v `pwd`:/workspace/ ubuntu:rolling
sudo chown 1000:1000 dustmite
@Trass3r
Trass3r / Dungeon Keeper 2 KMF.bt
Last active April 18, 2023 15:57
for %i in (*.kmf) do start /wait 010Editor -noui -nowarnings "-template:Dungeon Keeper 2 KMF.bt" "-script:Dungeon Keeper 2 KMF2OBJ.1sc" "%i"
// Dungeon Keeper 2 Meshes (static and vertex animated)
local int i;
struct KMSH {
char magic[4];
int size; // size of file incl. header
int version; // = 17
struct KHEAD {