Skip to content

Instantly share code, notes, and snippets.

@Broxzier
Broxzier / Window layout file
Created April 22, 2024 09:24
Window layout language
// Some default colours
var black = { r = 0.0f, g = 0.0f, b = 0.0f, };
var white = { r = 1.0f, g = 1.0f, b = 1.0f, };
var grey = { r = 0.5f, g = 0.5f, b = 0.5f, };
var lightgrey = { r = 0.8f, g = 0.8f, b = 0.8f, };
var darkgrey = { r = 0.3f, g = 0.3f, b = 0.3f, };
var red = { r = 1.0f, g = 0.0f, b = 0.0f, };
var green = { r = 0.0f, g = 0.5f, b = 0.0f, };
var blue = { r = 0.0f, g = 0.0f, b = 1.0f, };
var lightred : red = { g = 0.2f, b = 0.2f, };
@Broxzier
Broxzier / GitHubLogin.vbs
Created October 31, 2023 08:15
Firefox private window for secondary github account
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files\Mozilla Firefox\firefox.exe"" -private-window https://github.com/login"
WScript.Sleep 4000
WshShell.SendKeys "<username or email address>{TAB}<password>{ENTER}"
@Broxzier
Broxzier / uv-coordinates.js
Created August 3, 2023 14:45
A javascript function to quickly generate a grid of UV coordinates for an .obj file
function generateVT(w, h) {
var vt = "";
for (var y = 1; y <= h; y++)
for (var x = 1; x <= w; x++)
vt += `vt ${((x-1)/(w-1)).toFixed(6)} ${((h-y)/(h-1)).toFixed(6)}\n`;
return vt;
}
@Broxzier
Broxzier / admin.bat
Created July 3, 2023 08:30
Request admin permisions from batch
@echo off
:: Ensure we're admin by checking if the last arguent is "asadmin", and if not, restart as administrator with this argument set.
for %%a in (%*) do set last=%%a
if NOT "%last%" == "asadmin" (
powershell start -WindowStyle Minimized -verb runas '%0' '%* asadmin'
exit
)
:: Ensure the working directory is the same folder as where this script is located
@Broxzier
Broxzier / main.cpp
Last active May 26, 2023 22:15
Compact int reader and writer
#include <cstdint>
#include <iostream>
#include <limits>
#include <type_traits>
int GetBitValue(const std::uint8_t* data, int offset)
{
constexpr auto BitsPerByte = std::numeric_limits<std::decay_t<decltype(*data)>>::digits;
static_assert(BitsPerByte != 0, "Unknown bit size for type");
@Broxzier
Broxzier / Condition.h
Last active April 25, 2023 21:46
Draft of how a scenario objective system could be made
#pragma once
#include <variant>
#include "Deadline.h"
#include "GuestCount.h"
#include "ParkValue.h"
namespace Objectives
{
@Broxzier
Broxzier / settings.json
Last active April 7, 2023 12:41
A list of programs for a fresh machine, can be used with `winget import` to install them all at once. This is just a list of programs I personally like to have around, and will naturally change over time.
{
"$schema": "https://aka.ms/winget-settings.schema.json",
// For documentation on these settings, see: https://aka.ms/winget-settings
// "source": {
// "autoUpdateIntervalInMinutes": 5
// },
"installBehavior": {
"preferences": {
@Broxzier
Broxzier / expected_variant_demo.cpp
Created January 26, 2023 11:31
Using std::excepted to ensure all exceptions are caught
#include <exception>
#include <expected>
#include <iostream>
#include <variant>
template<class... Ts> struct overloaded : Ts... { using Ts::operator()...; };
namespace IO
{
struct FileNotFound {};
CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown0, {
{ 31, 16, 0, 0, 0, 0}, { 30, 16, 0, 0, 0, 0}, { 29, 16, 0, 0, 0, 0}, { 28, 16, 0, 0, 0, 0}, { 27, 16, 0, 0, 0, 0},
{ 26, 16, 0, 0, 0, 0}, { 25, 16, 0, 0, 0, 0}, { 24, 16, 0, 0, 0, 0}, { 23, 16, -1, 0, 0, 0}, { 22, 16, -1, 0, 0, 0},
{ 21, 15, -1, 0, 0, 0}, { 20, 15, -1, 0, 0, 0}, { 19, 15, -2, 0, 0, 0}, { 18, 15, -2, 0, 0, 0}, { 17, 15, -2, 0, 0, 0},
{ 16, 15, -3, 16, 23, 0}, { 15, 15, -3, 16, 23, 0}, { 14, 15, -4, 16, 23, 0}, { 13, 15, -4, 16, 23, 0}, { 12, 15, -5, 16, 23, 0},
{ 11, 14, -5, 16, 23, 0}, { 10, 14, -6, 16, 23, 0}, { 9, 14, -6, 16, 23, 0}, { 8, 14, -7, 16, 23, 0},
@Broxzier
Broxzier / ProjectSelectWizard.cs
Created May 24, 2022 13:10
Unity Multi-Project Selection Wizard
#if UNITY_EDITOR
using System;
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
public class ProjectSelectWizard : ScriptableWizard
{
private static readonly string ProjectsFolder = "Projects";