Skip to content

Instantly share code, notes, and snippets.

View leoetlino's full-sized avatar
💭
I may be slow to respond. Busy with coursework

Léo Lam leoetlino

💭
I may be slow to respond. Busy with coursework
View GitHub Profile
import argparse
import csv
from typing import Optional
import byml
import mmh3
from pathlib import Path
parser = argparse.ArgumentParser()
parser.add_argument("romfs_root", type=Path)
parser.add_argument("-b", "--build", default="Product.100")
bool MapIcon::Tower::isVisited() const {
gmd::StructHandle IsVisitLocation;
if (!gmd::GameDataMgr::instance()->getStruct(&IsVisitLocation, "IsVisitLocation")) {
return false;
}
bool visited;
if (!gmd::GameDataMgr::instance()->getBool(&visited, IsVisitLocation, mLocationNameHash)) {
return false;
}
@leoetlino
leoetlino / cafe150.cpp
Created December 21, 2022 10:46
ksys::phys::RagdollController::recalculateEffectiveBoneWeight
int __fastcall ksys::phys::RagdollController::recalculateEffectiveBoneWeight(int this, unsigned int a2)
{
// [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]
v2 = *(this + 76);
v3 = *(this + 60);
v4 = *(this + 64);
if ( v2 == 0.0 )
{
if ( a2 < v3 )
@leoetlino
leoetlino / LazyIDA.py
Created June 21, 2022 19:45
copy this into the IDA/plugins/ directory
from __future__ import division
from __future__ import print_function
from struct import unpack
import idaapi
import idautils
import idc
from PyQt5.Qt import QApplication
ACTION_CONVERT = ["lazyida:convert%d" % i for i in range(10)]
signed __int64 __fastcall doCheckEquipItemType(void *a1, sead::SafeString *profile)
{
// [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]
profile->assureTermination(profile);
profile->assureTermination(profile);
v3 = (char *)profile->cstr;
if ( v3 == "WeaponSmallSword" )
return 0LL;
for...
sead::SafeStringBase<char> *__fastcall ksys::res::GParamListObjectTraveler::GParamListObjectTraveler(__int64 x0_0)
{
// [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]
v2 = (agl::utl::IParameterObj *)(x0_0 + 8);
*(_QWORD *)x0_0 = &BgparamlistObject::vt;
agl::utl::IParameterObj::IParameterObj((agl::utl::IParameterObj *)(x0_0 + 8));
v3 = (agl::utl::ParameterBase *)(x0_0 + 0x38);
*(_QWORD *)x0_0 = &off_71025114A0;
*(_QWORD *)(x0_0 + 8) = &`vtable for'agl::utl::ParameterObj;
Actor *__fastcall BaseProcMgr::getNextActor(BaseProcMgr *this, sead::CriticalSection *cs, Actor *actor, u8 flags)
{
// [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]
if ( &this->procMapCritSection != cs )
return 0LL;
if ( !actor )
{
node = this->procMap.mRoot;
if ( node )
{
"PorchItem": [
"Weapon_Sword_070",
"Weapon_Sword_024",
"Weapon_Sword_025",
"Weapon_Sword_030",
"Weapon_Sword_041",
"Weapon_Sword_058",
"Weapon_Sword_034",
"Weapon_Sword_035",
This file has been truncated, but you can view the full file.
Address Length Type String
.text:0000007100000008 00000004 C MOD0
.rodata:0000007101803008 00000044 C D:\\home\\Cafe\\U-King\\trunk\\Game\\App\\Rom\\NX64\\Product\\code\\U-King.nss
.dynstr:0000007101DA1FC1 00000022 C _ZN2nn6socket10GetSockOptEiiiPvPj
.dynstr:0000007101DA1FE3 00000029 C _ZN2nn6socket11GetPeerNameEiP8sockaddrPj
.dynstr:0000007101DA200C 0000001E C _ZN2nn6socket12GetLastErrnoEv
.dynstr:0000007101DA202A 0000001E C _ZN2nn6socket4PollEP6pollfdmi
.dynstr:0000007101DA2048 00000018 C _ZN2nn6socket5FcntlEiiz
.dynstr:0000007101DA2060 00000028 C _ZN2nn6socket6SendToEiPKvmiPK8sockaddrj
.dynstr:0000007101DA2088 00000020 C _ZN2nn6socket8InetNtoaE7in_addr
This file has been truncated, but you can view the full file.
root_heap_array:
addr: 0xa2dfa40
size: 1
capacity: 4
root_heap:
name: RootHeap
addr: 0x10a000000
parent: null
size: 3227516928
type: ExpHeap