Skip to content

Instantly share code, notes, and snippets.


Franc[e]sco Francesco149

View GitHub Profile
Francesco149 /
Created May 12, 2020
MapleStory Magnus's plan quest "bug" - Heretic Priests not spawning

I recently got confused with Angelic Buster's questline when i left the heretic temple after accepting magnus's plan (매그너스의 계획). when I cam back, the cutscene with the 3 priests seemed to not be triggering. I searched the web for solutions but all I found were some unanswered posts.

even though this is just a link mule it was bothering me so I decided to try and figure it out

after trying the usual things like forfeiting and re-accepting the quest, I noticed a post on inven that directed people to a different entrance for the heretic temple. and then it hit me - there are two heretic temple maps, one with red monks and the other one with blue monks and i was going to the wrong one. they look almost the same so I didn't notice

View sm64_rpi.diff
< # Main loop for standard, non-continuous sound effects
> // Main loop for standard, non-continuous sound effects
< # keep looping until layer 0 finishes or we are told to stop or to play something else
> // keep looping until layer 0 finishes or we are told to stop or to play something else
< chan_bltz .skip_023589 # if we have a signal:

how to build the super mario 64 pc port

the binary will be in build/

PC Port - Before Building

  • get the sm64 US rom in z64 format, rename to and put it in the sm64pc root folder
  • you can also use the japanese rom (except rename to .jp instead of .us) and when you run make you would pass VERSION=jp
View BattleResultRequest__beginRequest.c
void BattleResultRequest$$beginRequest
(undefined4 requestBase,undefined4 __unused,uint battleEntityPrimaryKey1,
int battleEntityPrimaryKey2,uint battleResult,undefined4 winResult,undefined4 scores,
undefined4 action,Array *voicePlayedList,Array *aliveEnemys,
Array_RaidResult_ *raidResult,Array_SuperBossResult_ *superBossResult,
undefined4 elapsedTurn,undefined4 usedTurnList,undefined4 recordType,
undefined4 recordValueJson,int tdPlayed,undefined4 usedEquipSkillList)
int iVar1;
View klbvfs.c
int file_xRead(sqlite3_file *file,byte *dst,int iAmt,int64_t iOfst)
uint highbits;
uint bit33to32_or_shiftright1;
ulonglong tmpoff;
int xReadResult;
int random1;
int random3;
int random_multiplier;
#!/bin/env python
# this is free and unencumbered software released into the public domain
# for more information, please refer to <>
import hmac
import hashlib
import os
import json
import uuid
Francesco149 /
Created Oct 9, 2019 — forked from worawit/
ghidra script for read from Il2CppDumper
# -*- coding: utf-8 -*-
import ghidra.program.model.symbol.SourceType
import re
functionManager = currentProgram.getFunctionManager()
#minAddress = currentProgram.getMinAddress()
baseAddress = currentProgram.getImageBase()
USER_DEFINED = ghidra.program.model.symbol.SourceType.USER_DEFINED

so I spent some time figuring out how to install and run SIFAS on android x86 running on a pc without an emulator


  • a wifi usb dongle or any kind of wifi connectivity - might be avoidable if you find an app that can trick android into thinking it's on wifi
  • your pc
  • dedicated hdd/ssd for android, or knowledge on how to set up grub to dual boot with your other OSes
Francesco149 / march.v
Last active Sep 4, 2019
vlang playground raymarcher in <1000 characters. paste this in and run, it renders a shaded sphere. relies on an early version of vlang and quirks with autoformat, might break pretty soon
View march.v
const(W=25 H=11 E=0.001 F=100.0 C=['-','.',' '])
fn q(n f64)f64{mut x:=n mut y:=1.0 for x-y>E{x=(x+y)/2 y=n/x}return x}
struct V{mut: x f64 y f64 z f64}
fn (v V)a(o V)V{return V{x:v.x+o.x,y:v.y+o.y,z:v.z+o.z}}
fn (v V)m(s f64)V{return V{x:v.x*s,y:v.y*s,z:v.z*s}}
fn (v V)g()f64{return q(v.x*v.x+v.y*v.y+v.z*v.z)}
fn (v V)n()V{m:=v.g() if m<E{return v} return V{x:v.x/m,y:v.y/m,z:v.z/m}}
fn s(p V)f64{d:=p.g()-0.1 if d<-p.y+0.2{return d}return -p.y+0.2}
fn h(e,r V)f64{mut t:=0.0 for i:= 0;i<99;i++{d:=s(e.a(r.m(t))) if d<E{return t} t+=d if t>=F{break}}return -1}
fn f(u,v f64)string{e:=V{x:0,y:0,z:-1} r:=V{x:u,y:v,z:1} d:=h(e,r.n())
Francesco149 /
Last active Mar 10, 2021
buttery smooth vte/libvte with the 120fps patches

buttery smooth vte/libvte with the 120fps patches

vte/libvte is extremely choppy because it's hard-capped to 40fps. all terminals based on it suffer from this, so I decided to make these quick n dirty patches for various vte versions that bump the cap up to 120fps

here's a 120fps video demostration

also a 60fps clip on twitter if your browser can't handle 120