Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Chen Tao jagt

🏠
Working from home
View GitHub Profile
View gist:93cb508f42051c5ba2a863b16ac0cbaf
=================================================================
==6756==ERROR: AddressSanitizer: new-delete-type-mismatch on 0x11b647ca0820 in thread T0:
object passed to delete has wrong type:
size of the allocated type: 24 bytes;
size of the deallocated type: 8 bytes.
#0 0x7ff6990d82aa in operator delete(void *, unsigned __int64) D:\agent\_work\13\s\src\vctools\crt\asan\llvm\compiler-rt\lib\asan\asan_new_delete.cpp:172
#1 0x7ff6990dd4a0 in ply::OutPipe::`scalar deleting dtor'(unsigned int) C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xthreads.h:129
#2 0x7ff6990d9404 in ply::OutStream::destructInternal(void) C:\Dev\plywood\repos\plywood\src\runtime\ply-runtime\io\OutStream.cpp:50
#3 0x7ff6990914dd in ply::OutStream::~OutStream(void) C:\Dev\plywood\repos\plywood\src\runtime\ply-runtime\io\OutStream.h:118
#4 0x7ff6990912da in main C:\Dev\plywood\repos\plylox\PipeLeak\Main.cpp:8
@jagt
jagt / export_camera_standalone.py
Last active Sep 17, 2018
Standalone script for exporting camera animation w/ custom attributes.
View export_camera_standalone.py
'''
export camera standalone
1. put in `C:/Users/<user>/Documents/maya/scripts`
2. open maya and select the camera in outliner
3. menu 'custom->Export Selected Camera'
'''
from maya import cmds
from maya import mel
def make_kwargs(overrides, **kwargs):
@jagt
jagt / ipython_maya_2018.md
Created Jun 19, 2018
Setting up IPython for Maya 2018
View ipython_maya_2018.md
  1. Put mayapy on Path
  2. Open a cmd as admin
  3. run mayapy -m ensurepip --default-pip
  4. run mayapy -m pip install --upgrade pip
  5. run mayapy -m pip install ipython==5.7.0
  6. delete C:\Program Files\Autodesk\Maya2018\Python\Lib\site-packages\_scandir.pyd. it's build against original python release version.
  7. test mayapy -c "from IPython import embed; embed()"
View union.cs
using System;
using System.Runtime.InteropServices;
// turns out primitive C# union is already doable
// http://www.xtremedotnettalk.com/tutors-corner/97390-unions.html
[StructLayout(LayoutKind.Explicit)]
public struct MyUnion
{
[FieldOffset(0)]
@jagt
jagt / twod_array.linq
Last active Jan 4, 2019
c# 2d array example
View twod_array.linq
void Swap(ref float lhs, ref float rhs)
{
float tmp = lhs;
lhs = rhs;
rhs = tmp;
}
void InplaceFlipX(float[,] arr)
{
View core-coding-standard.md

Core Coding Standard

Coding practices are a source of a lot of arguments among programmers. Coding standards, to some degree, help us to put certain questions to bed and resolve stylistic debates. No coding standard makes everyone happy. (And even their existence is sure to make some unhappy.) What follows are the standards we put together on the Core team, which have become the general coding standard for all programming teams on new code development. We’ve tried to balance the need for creating a common, recognizable and readable code base with not unduly burdening the programmer with minor code formatting concerns.

Table Of Contents

@jagt
jagt / InstaLODEditorUtils.cs
Created Feb 1, 2018
InstaLOD binding example
View InstaLODEditorUtils.cs
using System;
using System.IO;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using InstaLOD;
using System.Runtime.InteropServices;
public static class InstaLODEditorUtils
{
@jagt
jagt / publicize.cs
Last active Jan 30, 2018
publicize.cs
View publicize.cs
using Mono.Cecil;
using System;
using System.Linq;
using System.Collections.Generic;
// inplace publicize all methods/types in a dll
// need Mono.Cecil in nuget
class Program
{
View embed_civet_genie.lua
solution 'embed-civet'
location './build'
configurations {'Debug', 'Release'}
platforms {'x32', 'x64'}
startproject 'main'
includedirs {
'civetweb/include',
}
defines {'USE_WEBSOCKET'}
View on_hit.lua
local delegates = {}
local function OnEvent(evt, cb)
local cb_dump = string.dump(cb)
delegates[evt] = cb_dump
end
-- declare callbacks
OnEvent('hit', function(evt)
damage(evt.source)