Skip to content

Instantly share code, notes, and snippets.

quant:~/development/minisuit/projects/MiniSuit$ cloc .
425 text files.
421 unique files.
131 files ignored.
http://cloc.sourceforge.net v 1.60 T=3.32 s (89.0 files/s, 30249.7 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C++ 117 8841 3102 49748
@carloscm
carloscm / testarrows.scm
Created April 7, 2015 21:49
-> ->> -<> -<>> for S7 Scheme
; -> ->> -<> -<>> for S7 Scheme
; inspired by https://github.com/nightfly19/cl-arrows and https://github.com/rplevy/swiss-arrows
(require stuff.scm)
; using: any? while
; replace those with your favorite scheme alternatives
; direct translation from https://github.com/nightfly19/cl-arrows
(define (arrow-proto handler initial-form forms)
(let ((output-form initial-form)
(define recycler-sm (state-machine
(start find-litter)
(args recycler phase)
(vars
pick-ticks 0
work-ticks 0)
(state find-litter
(vars
(define-mod-export job-logistic-sm (state-machine
(start pre-check)
(args job-giver state-component phase)
(vars
work-ticks 0)
(state basic-info
(vars
state-component-c (ecs-get-component job-giver state-component)
@carloscm
carloscm / bgfx-nuklear.cpp
Last active June 13, 2024 11:35
bgfx renderer for nuklear. Bring your own event handling and your own common sense for integration into your project.
#include "../platform/platform.h"
#include <cstdlib>
#include <cstring>
#include <bgfx/bgfx.h>
#include <bgfx/embedded_shader.h>
#include <bx/allocator.h>
#include <bx/math.h>
#define NK_IMPLEMENTATION
struct UIDeclare {
virtual bool button(const char* txt, int flags = 0) = 0;
virtual void label(const char* txt, int flags = 0) = 0;
virtual void space() = 0;
};
struct UILayoutEmit : public UIDeclare {
lay_context ctx;
lay_id root = 0;
eastl::vector<lay_id> ids;
// https://github.com/memononen/nanosvg
#include <nanosvg.h>
struct CLSVG {
vg::CommandListHandle handle = { VG_INVALID_HANDLE };
float width = 0.0f;
float height = 0.0f;
};
static uint32_t modulate_color_alpha(uint32_t color, float alpha) {
#include <stb_image_resize.h>
static void build_mips(uint8_t* data, size_t base, uint32_t w, uint32_t h)
{
uint32_t mw = w;
uint32_t mh = h;
uint32_t pw = w;
uint32_t ph = h;
size_t prev_start = base;
size_t last_size = size_t(w) * size_t(h) * 4;

image link

@carloscm
carloscm / gist:2a7f9d1b0135125358d18e450df0b54f
Last active October 2, 2023 20:40
fix texture array in bgfx dx12
diff --git a/thirdparty/bgfx/src/renderer_d3d12.cpp b/thirdparty/bgfx/src/renderer_d3d12.cpp
index 3a4194271..2a66d4c80 100644
--- a/thirdparty/bgfx/src/renderer_d3d12.cpp
+++ b/thirdparty/bgfx/src/renderer_d3d12.cpp
@@ -5387,7 +5387,7 @@ namespace bgfx { namespace d3d12
if (0 != kk)
{
kk = 0;
- for (uint8_t side = 0; side < numSides; ++side)
+ for (uint16_t side = 0; side < numSides; ++side)