Skip to content

Instantly share code, notes, and snippets.

adamj@gehn:~/test$ ./binkbegone.sh cwe-ou Plasma
OK to delete? (y/n) y
+ rm -rf old-hg uncorrupt-git uncorrupt-hg filemap1 filemap2 filtered-hg filtered-git
+ set -x
+ set -e
+ hg init old-hg
+ hg -R old-hg pull -r e106bb4cef24 cwe-ou
+ git init --bare uncorrupt-git
+ cd old-hg
+ hg push ../uncorrupt-git
@Hoikas
Hoikas / gist:4365718
Created December 23, 2012 20:06 — forked from branan/gist:1897875
# basic NSIS bookkeeping. Nothing special
OutFile gehn_shard.exe
RequestExecutionLevel admin
Name "Gehn Shard"
Var CYAN_URULIVE_DIR
Var INSTALL_TO_URU
Function .onInit
StrCpy $INSTDIR "$PROGRAMFILES\Gehn Shard"
FunctionEnd
@Hoikas
Hoikas / gist:4377753
Last active December 10, 2015 03:58
Gehn.11
- Fix remote code execution vunerability
- Fix KI scrolling to the bottom when a new message comes in
- Fix cursor not appearing over the window title
- Fix some scary python SystemError tracebacks
- Fix player hoods not appearing in the Nexus
- Fix an issue that could cause the BlueSpiral puzzle to stop working
- Fix a KI crash when using a unicode language
- Forward port Skoader's PhysX refactor from OU
- Implement pellet scoring
- Randomize server generated Neighborhoods
@Hoikas
Hoikas / gist:4385742
Created December 27, 2012 05:40
Gehn.12
- Fix cloth links
- Fix crash in PtGetCameraNumber()
- Fix Neighborhood post-creation init
- Resolve GUID Conflict
> plClient.exe!pnNpCommon::IStrSqlEscape<wchar_t>(const wchar_t * src, wchar_t * dst, unsigned int dstChars) Line 218 C++
plClient.exe!NetVaultNodeFieldArray::GetFieldValueString_LCS(unsigned __int64 bit, wchar_t * dst, unsigned int dstChars) Line 996 C++
plClient.exe!RelVaultNode::Print(const wchar_t * tag, void (void *, const wchar_t *, ...) * dumpProc, unsigned int level) Line 1425 C++
plClient.exe!VaultNodeFetched(ENetError result, void * __formal, NetVaultNode * node) Line 529 C++
plClient.exe!ChangedVaultNodeFetched(ENetError result, void * param, NetVaultNode * node) Line 542 C++
plClient.exe!Ngl::Auth::VaultFetchNodeTrans::Post() Line 3929 C++
plClient.exe!Ngl::NetTransUpdate() Line 346 C++
plClient.exe!NetClientUpdate() Line 184 C++
plClient.exe!NetCommUpdate() Line 820 C++
plClient.exe!plNetClientMgr::Update(double secs) Line 575 C++
(01/11 01:22:18) --- plResManager Object Leak Report (BEGIN) ---
(01/11 01:22:18) Leaks in page Neighborhood>nb01[00030024]:
(01/11 01:22:18) plSceneObject: (0x30024:0x0:ImgrPhotoPlane01:C:[0,0]) (key only, 5 refs left)
(01/11 01:22:18) plSceneObject: (0x30024:0x0:ImgrPhotoPlane02:C:[0,0]) (key only, 5 refs left)
(01/11 01:22:18) plPythonFileMod: (0x30024:0x0:PythonFileImager01:C:[0,0]) (key only, 8 refs left)
(01/11 01:22:18) plPythonFileMod: (0x30024:0x0:PythonFileImager02:C:[0,0]) (key only, 8 refs left)
(01/11 01:22:18) Leaks in page Neighborhood>Classroom[00030028]:
(01/11 01:22:18) plSceneObject: (0x30028:0x0:ImgrPhotoPlane02:C:[0,0]) (key only, 5 refs left)
(01/11 01:22:18) plPythonFileMod: (0x30028:0x0:PythDRCImager:C:[0,0]) (key only, 8 refs left)
(01/11 01:22:18) Leaks in page Neighborhood>nb01Ayhoheek5Man1State[0003002e]:
C:\Users\Adam\Desktop\pat>plPatchUtil
plPatchUtil [-validate] <old> <new> [output]
Generates a patch for a given pair of plRegistryPageNodes
Optionally will attempt to eat dogfood to test the implementation
C:\Users\Adam\Desktop\pat>plPatchUtil -validate ahny_old_builtin.prp ahny_new_builtin.prp
Old Page: ac35e38e40c296af1cf48dac0ea67dbb
New Page: 1c1e2c5607ff05d276a417a65fc07793
@Hoikas
Hoikas / gist:4639076
Created January 26, 2013 00:14
Compressed Quats
// To store a quat in 64 bits, we find which element is the largest and use 2 bits to
// store which one it is. We now know the other 3 elements fall in the range
// of [-kOneOverRootTwo, kOneOverRootTwo]. We scale that range across 20/21/21 bits
// and store each. When extracting, we use the fact that the quat was normalized
// to compute the 4th element.
...
// To store a quat in 32 bits, we find which element is the largest and use 2 bits to
// store which one it is. We now know the other 3 elements fall in the range
std::unique_ptr<IKey, std::function<void(IKey*)>> key(
reinterpret_cast<IKey*>(new uint8_t[keys->GetKeySize()]),
[] (IKey* ptr) { delete[] reinterpret_cast<uint8_t*>(ptr); }
);
@Hoikas
Hoikas / ReleaseNotes.txt
Last active December 12, 2015 02:08
Gehn.13
- Add CWalther's Tre'bivdil stained glass design
- Add /party KI command
- Don't garble network messages
- Fix BlueSpiral without breaking it again
- Fix /clearchat
- Fix crash on exit
- Fix crash when sending a PM to an avatar in another age
- Fix imagers not being removed from the KI list
- Fix infinite loop
- Fix log race condition crash