Skip to content

Instantly share code, notes, and snippets.

View radgeRayden's full-sized avatar
🤔

Westerbly Snaydley radgeRayden

🤔
View GitHub Profile
using import enum
@@ memo
inline member-typeof (T member)
let result =
static-if ((T < Struct) or (T < CStruct))
field-count := (countof T)
let result =
va-lfold none
inline (_ignore value computed-result)
@radgeRayden
radgeRayden / color-test.sc
Last active September 19, 2020 13:43
Color test for scopes styles
fn test-color (style-kind)
let style-code = (default-styler style-kind "")
let styled-name = (default-styler style-kind (style-kind as string))
let color-code =
do
let code = (lslice style-code ((countof style-code) - (countof "\x1b[0m")))
match code
case "\x1b\[30m"
0
case "\x1b[31m"
@radgeRayden
radgeRayden / fnt2scopes.lua
Created October 16, 2019 00:49
FNT -> Scopes S Expressions converter
local filename = arg[1]
local output =
[[
using import struct
struct FNTCharInfo plain
id : i32
x : i32
y : i32
width : i32
height : i32
@radgeRayden
radgeRayden / main.lua
Last active May 13, 2022 00:36
minesweeper
local field = {}
local field_width = 10
local field_height = 10
local field_position_x = 100
local field_position_y = 100
local n_mines = 15
local size_square = 30
local start_time = 0
local play_time = 0
local is_game_over = false
@radgeRayden
radgeRayden / video.sc
Last active August 5, 2019 19:08
sokol_gfx scopes example: drawing palletized images to a texture then updating a gpu buffer
#
in: console VRAM
320x240 palletized pixel data
16-color (subject to change) pallete in RGB 24-bit format
using import glsl
using import glm
#shader constants
let +palette-width+ = 4
@radgeRayden
radgeRayden / main.sc
Last active May 20, 2019 18:18
sokol triangle example in scopes
include
(import sokol)
""""#define SOKOL_NO_ENTRY
#define SOKOL_IMPL
#define SOKOL_GLCORE33
#include "include/sokol/sokol_app.h"
#include "include/sokol/sokol_gfx.h"
include
(import C)
#!/usr/bin/lua
expr = io.read()
--tokenize
tokens = {}
local current_number = nil
@radgeRayden
radgeRayden / reload_xephyr.fish
Created February 15, 2019 21:09
script to reload awesomeWM inside xephyr without "touching" the window
#!/bin/fish
#wmctrl returns a list of windows with their ids as hexadecimal.
set -l XEPHYR_WINDOW_ID (wmctrl -l | grep "Xephyr on :1.0" | grep -Eo "0x[0-9a-f]+")
set -l CURRENT_WINDOW_ID (xdotool getactivewindow)
xdotool windowfocus $XEPHYR_WINDOW_ID;
sleep 0.25s;
xdotool key ctrl+shift key super+ctrl+r key ctrl+shift;
sleep 0.25s;
@radgeRayden
radgeRayden / gist:d6fac2d1abb81d176b60160990020f9c
Created January 23, 2019 07:23
data dump from vertex data
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0ÇA\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0\0B\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0@B\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0ÇB\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0áB\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0└B\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0ÓB\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0\0C\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0\16C\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0 C\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0000C\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0@C\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0PC\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0`C\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0pC\0\0\0\0\0\0\0?\0\0\0\0\1\1\1\1\0\0\0\0\0\0ÇA\0\0\0?\0\0\0\0\1\1\1\1\0\0ÇA\0\0ÇA\0\0\0?\0\0\0\0\1\1\1\1\0\0\0B\0\0ÇA\0\0\0?\0\0\0\0\1\1\1\1\0\0@B\0\0ÇA\0\0\0?\0\0\0\0\1\1\1\1\0\0ÇB\0\0ÇA\0\0\0?\0\0\0\0\1\1\1\1\0\0áB\0\0ÇA\0\0\0?\0\0\0\0\1\1\1\1\0\0└B\0\0ÇA\0\0\0?\0\0\0\0\1\1\1\1\0\0ÓB\0\0ÇA\0\0\0?\0\0\0\0\1\1\1\1\0\0\0C\0\0ÇA\0\0\0?\0\0\0\0\1\1\1\1\0\0\16C\0\0ÇA\0\0\0?\0\0\0\0\1\1\1\1\0\0 C\0\0ÇA\0\0\0?\0\0\0\0
@radgeRayden
radgeRayden / game.fnl
Created January 11, 2019 07:32
fennel love.run
(fn love.run []
(if love.load
(love.load (love.arg.parseGameArguments arg) arg))
(if love.timer
(love.timer.step))
(var dt 0)
(fn []
(when love.event
(love.event.pump)
(each [name a b c d e f (love.event.poll)]