Skip to content

Instantly share code, notes, and snippets.

Avatar

Mārtiņš Možeiko mmozeiko

  • RAD Game Tools
  • Kirkland, WA
View GitHub Profile
@mmozeiko
mmozeiko / astar.h
Last active Aug 9, 2020
generic A* in C
View astar.h
// generic A* pathfinding
//
// INTERFACE
//
// mandatory macros
#ifndef ASTAR_POS_TYPE
#error ASTAR_POS_TYPE should specify position type
@mmozeiko
mmozeiko / GLES.txt
Last active Jul 26, 2020
Nvidia Jetson Nano info
View GLES.txt
EGL_VERSION: 1.5
EGL_VENDOR: NVIDIA
EGL_EXTENSIONS:
EGL_EXT_buffer_age, EGL_EXT_client_sync,
EGL_EXT_create_context_robustness, EGL_EXT_output_base,
EGL_EXT_stream_acquire_mode, EGL_EXT_sync_reuse, EGL_IMG_context_priority,
EGL_KHR_config_attribs, EGL_KHR_create_context_no_error,
EGL_KHR_context_flush_control, EGL_KHR_create_context,
EGL_KHR_display_reference, EGL_KHR_fence_sync,
EGL_KHR_get_all_proc_addresses, EGL_KHR_partial_update,
@mmozeiko
mmozeiko / meow_hash_armv8.h
Last active Jun 29, 2020
Meow v0.5 in C and ARMv8
View meow_hash_armv8.h
#pragma once
#define MEOW_HASH_VERSION 5
#define MEOW_HASH_VERSION_NAME "0.5/calico"
// Meow hash v0.5 with ARMv8 Crypto Extension instructions
// Ported from https://github.com/cmuratori/meow_hash
// Performance on Pine A64 (Cortex-A53, 1.2GHz)
// (compiled with clang v10.0 with -O3 -mcpu=cortex-a53)
View meow_hash_c.h
#pragma once
#define MEOW_HASH_VERSION 5
#define MEOW_HASH_VERSION_NAME "0.5/calico"
// Meow hash v0.5 in C without dependency on special CPU instructions
// Ported from https://github.com/cmuratori/meow_hash
// Performance on Ryzen 9 3950X
// AESNI code = ~16 bytes/cycle
@mmozeiko
mmozeiko / zipit.py
Last active Jun 25, 2020
Create zip file with explicitly setting +x permissions
View zipit.py
#!/usr/bin/env python3
import os
import os.path
import sys
from datetime import datetime
from zipfile import ZipFile, ZipInfo, ZIP_DEFLATED
# which files to make executable
EXECUTABLE = [
@mmozeiko
mmozeiko / info.txt
Created Jun 7, 2020
OpenGL info with mesa v3d on RaspberryPi 4+ with 64-bit ArchLinuxArm (aarch64)
View info.txt
$ cat /etc/issue
Arch Linux \r (\l)
$ uname -a
Linux archlinux 5.4.38-1-ARCH #1 SMP PREEMPT Wed May 6 11:05:57 MDT 2020 aarch64 GNU/Linux
##### EGL info
EGL client extensions = EGL_EXT_client_extensions EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_EXT_platform_device EGL_MESA_platform_gbm EGL_KHR_platform_gbm
@mmozeiko
mmozeiko / custom_draw_window.c
Last active Apr 24, 2020
no title/border window
View custom_draw_window.c
#include <windows.h>
#include <windowsx.h>
#include <uxtheme.h>
#pragma comment(lib, "user32.lib")
#pragma comment(lib, "gdi32.lib")
#pragma comment(lib, "uxtheme.lib")
LRESULT WINAPI WindowProc(HWND wnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
@mmozeiko
mmozeiko / test.c
Created Apr 13, 2020
passing custom information to and from win32 message loop
View test.c
#include <windows.h>
#include <stdio.h>
typedef struct
{
int width;
int height;
} Context;
static LRESULT CALLBACK WindowProc(HWND wnd, UINT msg, WPARAM wparam, LPARAM lparam)
@mmozeiko
mmozeiko / xbox_test.c
Last active Jul 20, 2020
Getting xbox controller input without xinput
View xbox_test.c
// cl.exe xbox_test.c /link setupapi.lib user32.lib
#include <windows.h>
#include <setupapi.h>
#include <dbt.h>
#include <stdio.h>
/// interface
#define XBOX_MAX_CONTROLLERS 16
@mmozeiko
mmozeiko / demo.c
Last active Feb 27, 2020
linux call stack
View demo.c
// gcc -g demo.c -ldl
#define _GNU_SOURCE
#include <stdio.h>
#include <dlfcn.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <unistd.h>
You can’t perform that action at this time.