Skip to content

Instantly share code, notes, and snippets.

#include <stdbool.h>
/*
* Dummy typedefs for types used.
*/
typedef int event_t;
typedef int message_t;
/*
* Prototype for event functions.
#include <stdio.h>
#include <math.h>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#include "swl.h"
#include "gles.hpp"
#include "OpenGL.Texture.hpp"
#include <ft2build.h>
#include FT_FREETYPE_H
unit BitClass;
interface
uses SysUtils;
type
Bit = 0..7;
BitByte = set of Bit;
@Zoxc
Zoxc / ggpk_defragment.rb
Last active January 4, 2024 02:50
GGPK Defragmenter
require 'bindata'
require 'benchmark'
require 'win32/registry'
require 'io/console'
class GGPK
class UTF16String < BinData::String
def snapshot
super.force_encoding('UTF-16LE')
end
@Zoxc
Zoxc / gist:2467851
Created April 23, 2012 00:47
Mirb Exception Reporting
> tap { raise "hi" }
RuntimeError: hi
in main.Kernel(Object)#raise("hi")
in main.#<Class:main>(Object)#main(main)
Input:1: tap { raise "hi" }
~~~~~~~~~~
in #<Proc:0x4c2048>.Proc#call(main)
in main.Object#tap()
in main.#<Class:main>(Object)#main()
@Zoxc
Zoxc / gist:2585797
Created May 3, 2012 13:54
Parsing error comparison
> ::hi()
mirb:
Parsing Error: Can only reference constants when leaving out the lookup expression (Use ::Object to access non-constants)
Input[1]: ::hi()
~~~~~~
mri:
SyntaxError: (irb):6: syntax error, unexpected tIDENTIFIER, expecting tCONSTANT
::hi()
^
@Zoxc
Zoxc / injector.cpp
Created June 10, 2012 17:40
DLL Injector for x86/x64
#pragma once
#include <SDKDDKVer.h>
#define WIN32_LEAN_AND_MEAN
#define NOMINMAX
#include <windows.h>
#include <tchar.h>
#include <shellapi.h>
#include <string>
#include <sstream>
#include <functional>
@Zoxc
Zoxc / gist:3681678
Created September 9, 2012 00:47
Wayland Color Management
- Reads from client buffers in weston must be converted to linear gamma. Client buffers can be presented to weston with sRGB or linear gamma.
The server-side wl_drm will use sRGB formats to convert it for weston if that's available.
Should the existing SHM/DRM formats be declared as having sRGB gamma? If so, should the premultiplied color format be linear_to_srgb(color * alpha) (the format OpenGL and pixman uses for sRGB)?
How should you pass on whether or not the compositor prefers linear gamma to wayland_drm_init in mesa? (This is needed to disable gamma correction for performance reasons)
Options:
- Replace the eglQueryWaylandBufferWL, eglCreateImageKHR sequence with:
EGLBoolean eglSetupWaylandBufferWL(EGLDisplay dpy, struct wl_buffer *buffer, const EGLint *attrib_list, EGLint *format, EGLint *planes, EGLImageKHR *images);
- Call an eglSetupWaylandBufferWL function before doing anything with a wl_buffer (but keep the eglQueryWaylandBufferWL, eglCreateImageKHR sequence)
- Add eglDisplayAt
@Zoxc
Zoxc / PoE NPL
Last active February 28, 2019 16:39
struct PoEEmpty
{
}
[DataTypeByteOrder = 1] UnsignedNumber PoEU16
{
Size = 2
}
[DataTypeByteOrder = 0] UnsignedNumber PoEU16LE
@Zoxc
Zoxc / gist:5153662
Created March 13, 2013 16:13
Named constructors with new and delete as functions
# class is Scala or Haskell like traits or type classes
class Constructor[*Args] # Args is variadic
{
type Constructed
static construct(obj: *Constructed, args: Args): unit
}
class Destructable # All types have instance of this
{