This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copyright 2020 - Dan Bechard | |
// https://github.com/dbechrd | |
// License: Public Domain | |
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using UnityEngine; | |
// Lists all classes that inherit from Component in Unity's debug log | |
// Note: This uses C#'s run-time type introspection (i.e. "reflection"), |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
At a high level, events work as follows: | |
- Each type of event must have a unique name or ID (e.g. "user_joined_game") | |
- Each type of event may have additional metadata (e.g. the "user_joined_game" event will likely have a "user_id" in the metadata) | |
- Zero or more event handlers (in the form of callback function, also sometimes called "listeners" and owned by "subscribers") can be registered for each type of event. This can be done in many different ways, one way would be to have a central event manager that keeps track by having a list of subscribers for each type of event. In a more advanced implementation, you could also have filters (e.g. only send me "user_position_changed" events for "user_id = 5"). I would recommend starting with a simple boolean "handled" flag as a filter to start (see below). | |
- Zero or more places where an event is fired (also called "triggered", done by a "publisher"). | |
- When an even is fired/triggered by a publisher, it goes into an event queue. Generally you'd have one portion of a |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define _CRT_SECURE_NO_WARNINGS | |
#include <stdio.h> | |
#define STB_IMAGE_IMPLEMENTATION | |
#include "stb_image.h" | |
int w, h, channels; | |
unsigned char *data; | |
FILE *file; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bl_info = { | |
"name": "My-Craft Export (.mce)", | |
"description": "NexusNul is cool", | |
"author": "NexusNul", | |
"version": (2, 0, 0, 0), | |
'blender': (2, 80, 0), | |
"location": "File > Import-Export", | |
"wiki_url": "", | |
"category": "Import-Export"} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ---- loading a font | |
static void load_font(void) | |
{ | |
hb_blob_t *blob; | |
hb_face_t *face; | |
size_t filelen = 0; | |
void *filedata = stb_file("c:/windows/fonts/arial.ttf", &filelen); | |
if (filedata == 0) stbpg_fatal("Couldn't load font"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "Winning.h" | |
#include <sstream> | |
LRESULT CALLBACK WindowProc( | |
_In_ HWND hwnd, | |
_In_ UINT msg, | |
_In_ WPARAM wparam, | |
_In_ LPARAM lparam) | |
{ | |
switch (msg) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* ----------------------------------------------------------------------- */ | |
/* | |
Easy embeddable cross-platform high resolution timer function. For each | |
platform we select the high resolution timer. You can call the 'ns()' | |
function in your file after embedding this. | |
*/ | |
#include <stdint.h> | |
#if defined(__linux) | |
# define HAVE_POSIX_TIMER | |
# include <time.h> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <float.h> | |
#include <math.h> | |
// Takes a float in the range [-1.0, 1.0] and converts to an int in the range [INT_MIN, INT_MAX] | |
// NOTE: Floats outside of this range will be clamped | |
int normalized_ftoi(float f) | |
{ | |
// Clamp float to [-1.0, 1.0f] | |
if (f > 1.0f) f = 1.0f; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Link with psapi.lib | |
#define NOMINMAX | |
#define WIN32_LEAN_AND_MEAN | |
#include <Windows.h> | |
#include <Psapi.h> | |
int main (void) | |
{ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#---------------------------------------------------------------------------------------- | |
# Example Usage (RSpec) | |
#---------------------------------------------------------------------------------------- | |
# Define a trace object. Syntax is as follows: | |
# | |
# let (:trace) { | |
# SpecTrace.new({ | |
# Module::ClassA => { exclude: [:method_to_ignore, :another_method_to_ignore] } | |
# Module::ClassB => { include: [:method_to_trace, :another_method_to_trace] }, | |
# }) |