Skip to content

Instantly share code, notes, and snippets.

@x1nixmzeng
x1nixmzeng / soul_worker_res_types.txt
Last active June 17, 2023 20:02
Quick python script to dump the structures from Soul Worker Online
012640BC PUSH SoulWork.01C79544 ASCII "tb_Achievement"
01264666 PUSH SoulWork.01C79558 ASCII "tb_Achievement_begin"
0126478C PUSH SoulWork.01C79570 ASCII "tb_Achievement_Emblem"
01264AAC PUSH SoulWork.01C79588 ASCII "tb_Achievement_Script"
01264C66 PUSH SoulWork.01C795A0 ASCII "tb_Akashic_Disassemble"
01264DA6 PUSH SoulWork.01C795B8 ASCII "tb_Akashic_Make"
01264F0C PUSH SoulWork.01C795C8 ASCII "tb_Akashic_Parts"
012651DC PUSH SoulWork.01C795DC ASCII "tb_Akashic_Records"
0126587C PUSH SoulWork.01C795F0 ASCII "tb_Appearance"
01265AF6 PUSH SoulWork.01C79600 ASCII "tb_Aura"
@x1nixmzeng
x1nixmzeng / UnityPackedFont.bt
Last active July 31, 2021 20:43
Unity packed font binary template
//--------------------------------------
//--- 010 Editor v5.0 Binary Template
//--------------------------------------
// Unity binary font atlas format
// Documented by WRS
//--------------------------------------
struct UnityFontAtlas
{
uint unknown_0[2];
@x1nixmzeng
x1nixmzeng / prelen.bt
Last active July 31, 2021 20:43
Binary template for reading strings of known or unknown length
//--------------------------------------
//--- 010 Editor v5.0.0 Binary Template
//
// File: prelen.bt
// Author: x1nixmzeng/WRS
// Revision: v1.03
// Purpose: Reading strings of known length
// History
// v1.03 Added optional STR_ENCODING macro to specify the charset
// used to format the template results
@x1nixmzeng
x1nixmzeng / bundle.cpp
Created May 7, 2019 20:39
Viva Piñata BNL
#include "bundle.h"
#include "base/memorystream.h"
#include "base/assert.h"
#include "base/zlibutils.h"
#include "base/byte_order.h"
#include <vector>
#include <string>
@x1nixmzeng
x1nixmzeng / gist:3716476
Created September 13, 2012 18:29
My Delphi code to parse all known GunZ replay/recording files
function gzrClass.ReadGzrPlayers( gzrFile: TMemoryStream ): gzreplayState;
const
GZR_OWNER : byte = 1;
var
i : uint32;
tmpName : array[0..31] of char;
charFlag : byte;
begin
Result := GZR_SUCCESS;
@x1nixmzeng
x1nixmzeng / caffBanjo.bt
Created October 8, 2019 21:16
Banjo Kazooie CAFF Research
//------------------------------------------------
//--- 010 Editor v9.0.1 Binary Template
//
// File: caffBanjo.bt
// Authors: WRS/x1nixmzeng
// Version: 0.01
// Purpose: CAFF files used by Banjo
// Category: Games
// File Mask: n/a
// ID Bytes: CAFF
@x1nixmzeng
x1nixmzeng / ws_soulworker.lua
Last active December 22, 2020 17:38
Soul Worker Wireshark Dissector (packet analyser)
-- Soul Worker Wireshark Dissector rev 1
-- Written by WRS/x1nixmzeng (forum.xentax.com)
-- Usage: wireshark.exe -X lua_script:ws_soulworker.lua
local sw_port = 27017
sw_proto = Proto("sw_proto","Soul Worker Protocol")
local sw_method =
{
@x1nixmzeng
x1nixmzeng / Soul_Worker_Example.bt
Last active December 22, 2020 17:38
Binary template to parse and validate "th_Achievement.res" (from Soul Worker Online)
//--------------------------------------
//--- 010 Editor v5.0 Binary Template
//
// File: Soul_Worker_Example.bt
// Author: WRS/x1nixmzeng
// Revision: 1
// Purpose: Reading of th_Achievement.res
//--------------------------------------
local int64 read_sum = 0;
@x1nixmzeng
x1nixmzeng / conker_caff_xbox.cc
Last active November 29, 2019 20:06
Conker
#include <cstdio>
typedef signed char s8;
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
u8 default_rbm[384] = {
0x43, 0x41, 0x46, 0x46, 0x32, 0x38, 0x2E, 0x30, 0x31, 0x2E, 0x30, 0x35, 0x2E, 0x30, 0x30, 0x33,
0x31, 0x00, 0x00, 0x00, 0x50, 0x5D, 0xC9, 0x02, 0x7A, 0x01, 0x00, 0x00, 0xF2, 0x01, 0x00, 0x00,
@x1nixmzeng
x1nixmzeng / soul_worker_latest.py
Created April 9, 2016 15:21
Soul Worker Update Checker
#!/usr/bin/env python
import io
import urllib
import zipfile
import ConfigParser
import datetime
# constants
sw_base = "http://down.hangame.co.jp/jp/purple/plii/j_sw/"
sw_update = sw_base + "j_sw_m.xml"