Skip to content

Instantly share code, notes, and snippets.

@ChadSki
ChadSki / gist:6575360
Created September 15, 2013 23:56
Cython and dispatch tables
primitive_getter = {
'float32' : lambda int address: (<float*>address)[0],
'float64' : lambda int address: (<double*>address)[0],
'int8' : lambda int address: (<int8_t*>address)[0],
'int16' : lambda int address: (<int16_t*>address)[0],
'int32' : lambda int address: (<int32_t*>address)[0],
'int64' : lambda int address: (<int64_t*>address)[0],
'uint8' : lambda int address: (<uint8_t*>address)[0],
'uint16' : lambda int address: (<uint16_t*>address)[0],
'uint32' : lambda int address: (<uint32_t*>address)[0],
@ChadSki
ChadSki / gist:6575365
Created September 15, 2013 23:57
Cython and dispatch tables part II
primitive_getter = {
'float32' : lambda int address: (<float*>address)[0],
'float64' : lambda int address: (<double*>address)[0],
'int8' : lambda int address: (<int8_t*>address)[0],
'int16' : lambda int address: (<int16_t*>address)[0],
'int32' : lambda int address: (<int32_t*>address)[0],
'int64' : lambda int address: (<int64_t*>address)[0],
'uint8' : lambda int address: (<uint8_t*>address)[0],
'uint16' : lambda int address: (<uint16_t*>address)[0],
'uint32' : lambda int address: (<uint32_t*>address)[0],
@ChadSki
ChadSki / gist:6575441
Last active December 23, 2015 03:48
Cython and dispatch tables part III
def g_float32(int address): return (<float*>address)[0]
def g_float64(int address): return (<double*>address)[0]
def g_int8(int address): return (<int8_t*>address)[0]
def g_int16(int address): return (<int16_t*>address)[0]
def g_int32(int address): return (<int32_t*>address)[0]
def g_int64(int address): return (<int64_t*>address)[0]
def g_uint8(int address): return (<uint8_t*>address)[0]
def g_uint16(int address): return (<uint16_t*>address)[0]
def g_uint32(int address): return (<uint32_t*>address)[0]
def g_uint64(int address): return (<uint64_t*>address)[0]
@ChadSki
ChadSki / gist:6590170
Last active December 23, 2015 05:49
Zorgiepoo
template <typename T, typename P>
void ZGSearchWithFunctionHelperDirect(
T *searchValue,
bool (*comparisonFunction)(ZGSearchData *, T *, T *),
ZGSearchData * __unsafe_unretained searchData,
ZGMemorySize dataIndex,
ZGMemorySize dataSize,
ZGMemorySize dataAlignment,
ZGMemorySize endLimit,
P pointerSize,
@ChadSki
ChadSki / gist:6602940
Created September 18, 2013 00:48
Multiline function signature
template <typename T, typename P>
void ZGSearchWithFunctionHelperRegular(
T *searchValue,
bool (*comparisonFunction)(ZGSearchData *, T *, T *),
ZGSearchData * __unsafe_unretained searchData,
ZGMemorySize dataIndex,
ZGMemorySize dataAlignment,
ZGMemorySize endLimit,
P pointerSize,
NSMutableData * __unsafe_unretained resultSet,
@ChadSki
ChadSki / gist:6645661
Last active December 23, 2015 13:59
WPF Snippet
<DockPanel Grid.Row="1">
<Menu DockPanel.Dock="Top"
IsMainMenu="True"
SnapsToDevicePixels="True"
Margin="2,0,0,0">
<MenuItem Header="_File" >
<MenuItem Header="_Open Map" Click="Open_Click" />
<MenuItem Header="_Open From Memory" Click="OpenFromMemory_Click" />
<MenuItem Header="_Exit" Click="Exit_Click"/>
</MenuItem>
@ChadSki
ChadSki / gist:6645690
Created September 21, 2013 00:28
WPF Wharrgarbl
<Window.Template>
<ControlTemplate TargetType="{x:Type Controls:MetroWindow}">
<Grid Background="{TemplateBinding Background}">
<AdornerDecorator>
<ContentControl IsTabStop="False" FocusVisualStyle="{x:Null}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
@ChadSki
ChadSki / gist:6734509
Last active December 24, 2015 02:59
XML Plugin
<plugin name="obje">
<reference name="model" offset="0x28" />
<reference name="animation" offset="0x38" />
<reference name="collision" offset="0x70" />
<reference name="physics" offset="0x80" />
</plugin>
<plugin name="weap" parent="obje" struct_size="0x504">
<reflexive name="magazines" offset="0x4F0" struct_size='112'>
<uint16 name="rounds_recharged" offset="0x4" />
@ChadSki
ChadSki / gist:6734522
Last active December 24, 2015 02:59
Python Plugin (using macros)
class obje(HaloStruct):
model = reference(offset=0x28)
animation = reference(offset=0x38)
collision = reference(offset=0x70)
physics = reference(offset=0x80)
class weap(obje):
magazines = reflexive[offset=0x4F0, size=112,
rounds_recharged = uint16(offset=0x4)
rounds_total_initial = uint16(offset=0x6)
@ChadSki
ChadSki / gist:6737365
Last active December 24, 2015 03:29
Dictionary literal plugins
# dictionary layouts, with inheritance
obje = HaloStruct(layout={
'model': reference(offset=0x28),
'animation': reference(offset=0x38),
'collision': reference(offset=0x70),
'physics': reference(offset=0x80),
})
weap = HaloStruct(parent=obje, layout={