Skip to content

Instantly share code, notes, and snippets.

View coastwise's full-sized avatar

Patrick McKenna coastwise

  • Mississauga, Ontario, Canada
View GitHub Profile
@joningold
joningold / gist:0a45fadb69e697ff34294a2aa8f06ce6
Last active March 2, 2025 00:46
Storylet implementation
/* "Storylet" implementation.
Based on https://github.com/smwhr/ink-storylets/tree/main by smwhr.
This allows you to create content as "storylets" - little chunks / scenes, which are gated by preconditions. The game offers a choice of which one the player can look at, by picking the top N that are available now.
The machinery is fairly light, and the data is kept "with" the story content, so its easy to use as an extendable template.
*/
@moebiussurfing
moebiussurfing / dock_builder_example.cpp
Created July 29, 2021 03:36 — forked from PossiblyAShrub/dock_builder_example.cpp
Simple example, of how to use the dock builder API. (Adapted from the dock space example in the demo window) You need to use the docking branch and set the ImGuiConfigFlags_DockingEnable config flag. Learn more about Dear ImGui here: https://github.com/ocornut/imgui
static ImGuiDockNodeFlags dockspace_flags = ImGuiDockNodeFlags_PassthruCentralNode;
// We are using the ImGuiWindowFlags_NoDocking flag to make the parent window not dockable into,
// because it would be confusing to have two docking targets within each others.
ImGuiWindowFlags window_flags = ImGuiWindowFlags_MenuBar | ImGuiWindowFlags_NoDocking;
ImGuiViewport* viewport = ImGui::GetMainViewport();
ImGui::SetNextWindowPos(viewport->Pos);
ImGui::SetNextWindowSize(viewport->Size);
ImGui::SetNextWindowViewport(viewport->ID);
@no-defun-allowed
no-defun-allowed / selling-lisp-by-the-pound.org
Last active April 17, 2024 06:10
Selling Lisp by the pound

Selling Lisp by the Pound

“Paper late!” cried a voice in the crowd,

“Old man dies!” The note he left was signed,

‘Old Kiczales’ - it seems he’s drowned!

@bhasto
bhasto / Sony Bravia 2014.xml
Last active November 25, 2015 19:35
Plex Profile for Sony Bravia 2014
<?xml version="1.0" encoding="utf-8"?>
<Client name="Sony Bravia 2014">
<Identification>
<Header name="X-AV-Client-Info" regex=".*KDL-\d{2}[WR][5689]\d{2}B.*" />
<DeviceDescription>
<Manufacturer substring="Sony" />
<FriendlyName regex="KDL-\d{2}[WR][5689]\d{2}B.*" />
</DeviceDescription>
</Identification>
<DeviceDescription>
@staltz
staltz / introrx.md
Last active May 11, 2025 22:46
The introduction to Reactive Programming you've been missing
@aras-p
aras-p / preprocessor_fun.h
Last active May 3, 2025 13:47
Things to commit just before leaving your job
// Just before switching jobs:
// Add one of these.
// Preferably into the same commit where you do a large merge.
//
// This started as a tweet with a joke of "C++ pro-tip: #define private public",
// and then it quickly escalated into more and more evil suggestions.
// I've tried to capture interesting suggestions here.
//
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_,
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant,
@radiatoryang
radiatoryang / ForceDirectedGraph.cs
Created May 30, 2013 23:20
method for doing force directed graph stuff with NGenerics + Unity... to make it 3D, just change Vector2's to Vector3's
IEnumerator ForceDirectGraph<T>( Graph<T> graph, Dictionary<T, Vector3> graphPositions ) {
// settings
float attractToCenter = 15f;
float repulsion = 10f;
float spacing = 0.1f;
float stiffness = 100f;
float damping = 0.9f;
// initialize velocities and positions
Dictionary<Vertex<T>, Vector2> velocity = new Dictionary<Vertex<T>, Vector2>();
@briarfox
briarfox / 1aTabOrder
Last active December 17, 2015 01:08
AutoGist Release v2.2.8 -AutoGist your Codea projects!
AutoGist Tab Order Version: 2.2.8
------------------------------
This file should not be included in the Codea project.
#Main
#Gist
#Installer
#json
#Base64
#UpdateChecker
#ChangeLog