Skip to content

Instantly share code, notes, and snippets.

@shaunlebron
shaunlebron / _README.md
Last active October 13, 2024 09:24
Direct3D9 Wrapper DLL

In response to a StackOverflow question:

This is code to build a Direct3D wrapper DLL, intercepting all calls to Direct3D interface functions so that you can draw your own objects to display over the game. Just plop the DLL into the same folder as the game's executable, and it should load it as if it were the real d3d9.dll file. It still forwards all calls to the real one in system32, just allows stuff to happen in between. original stackoverflow answer

@shaunlebron
shaunlebron / test.cljs
Created June 26, 2015 19:24
js data processing in cljs
(let [old-arr #js []
new-arr #js []]
(doseq [val old-arr]
(when (should-include? val)
(.push new-arr val))))
"==================================================================================
" VUNDLE (auto-install plugins):
" > git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
" > vim +BundleInstall
"==================================================================================
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
@shaunlebron
shaunlebron / houston-metrorail.md
Last active August 29, 2015 14:21
Houston METRORail
@shaunlebron
shaunlebron / chance.ext.js
Created February 5, 2015 04:54
google closure externs for Chance.js
// Chance.js 0.7.2
// http://chancejs.com
// (c) 2013 Victor Quinn
// Chance may be freely distributed or modified under the MIT license.
/** @interface */
function Chance(seed) {}
/** @type {!Chance} */
var chance;
@shaunlebron
shaunlebron / main.js
Created February 2, 2015 18:54
cuttle patched main.js for issue #74
This file has been truncated, but you can view the full file.
if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) {
Math.imul = function (a, b) {
var ah = (a >>> 16) & 0xffff;
var al = a & 0xffff;
var bh = (b >>> 16) & 0xffff;
var bl = b & 0xffff;
// the shift by 0 fixes the sign on the high part
// the final |0 converts the unsigned value into a signed value
return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
}
@shaunlebron
shaunlebron / CLJS-866.clj
Last active August 29, 2015 14:07 — forked from ptaoussanis/CLJS-866.clj
Fix for desugar-ns-specs
(comment
;; Bug report for CLJS-721 (support :include-macros true modifier in :require),
;; Ref. http://dev.clojure.org/jira/browse/CLJS-721,
;; http://goo.gl/MQ3fWd (GitHub commit de6ee41b3)
;; desugar-ns-specs from clojurescript/src/clj/cljs/analyzer.clj
;; (`cljs.analyzer` ns)
(desugar-ns-specs '[(:require [foo.bar :as bar :include-macros true])])
;; =>
@shaunlebron
shaunlebron / core-om.cljs
Last active September 15, 2016 09:01
figwheel/reactjs development in ClojureScript (om vs. quiescent)
(ns yourapp.core
(:require [figwheel.client :as fw]
[sablono.core :as html :refer-macros [html]]
[om.core :as om :include-macros true]
[om-tools.core :refer-macros [defcomponent]]
))
(enable-console-print!)
(defonce world (atom {:text "Hello!"}))
(def initial-app-state
{:page "search"
:market nil
:market-strategies []
:market-filter (default-filter)
:edit-strategy nil})
@shaunlebron
shaunlebron / om-string-cursor.cljs
Created June 26, 2014 20:05
problem with using strings as cursors in Om
; Suggested in Om Basic Tutorial for making strings work as cursors
(extend-type string
ICloneable
(-clone [s] (js/String. s)))
(extend-type js/String
ICloneable
(-clone [s] (js/String. s))
om/IValue
(-value [s] (str s)))