Skip to content

Instantly share code, notes, and snippets.

View benoitjacquier's full-sized avatar

Benoit Jacquier benoitjacquier

View GitHub Profile
@benoitjacquier
benoitjacquier / TortoiseGIT.py
Last active January 17, 2024 08:41
10X TortoiseGIT plugin
#------------------------------------------------------------------------
import N10X
import subprocess
import os
TORTOISE_GIT_EXE = "TortoiseGitProc.exe"
class TortoiseGIT_Options():
def __init__(self):
self.bin_path = N10X.Editor.GetSetting("TortoiseGIT.TortoisePath")
package imgui_impl_raylib
import "core:mem"
import imgui "../..";
import rl "vendor:raylib"
@private
state: Raylib_State;
Raylib_State :: struct {
startup: bool,
@benoitjacquier
benoitjacquier / common.odin
Created April 3, 2021 13:07
odin_win32_winmd
package win32_winmd
import windows "core:sys/windows"
import win32 "core:sys/win32"
import c "core:c"
LARGE_INTEGER :: windows.LARGE_INTEGER;
ULARGE_INTEGER :: u64;
DWORD :: windows.DWORD;
LONG :: windows.LONG;
ULONG :: windows.ULONG;
#pragma once
/* Single file header Atomic lib with class support
64 bit only. MSVC/GCC/CLANG support
TODO:
- 16 bit atomics?
- x86/32 bit support
- check godbolt / macro godbolt
- exchangeprt vs 64?
- check alignment Atomic::atom todo: alignement?
@benoitjacquier
benoitjacquier / leaktracker.odin
Created December 10, 2018 21:31
allocator with leaktracker using odin-lang
package leaktracker
import "core:fmt"
import "core:runtime"
import "core:mem"
import "core:os"
Alloc_Header_Magic :: u32(0xAC019876);
Alloc_Header :: struct {
float encode16bits(float2 xy16)
{
xy16 = floor( xy16/16 );
float packed = xy16.x*16 + xy16.y;
packed /= 255.0f;
return packed;
}
float2 decode8bits(float packed)
{
using System;
namespace Monad
{
public static class MyExtensions
{
public static Func<T, V> Compose<T, U, V>(this Func<U, V> f, Func<T, U> g)
{
return x => f(g(x));
}