Skip to content

Instantly share code, notes, and snippets.

View Francesco149's full-sized avatar
:shipit:
memes

lolisamurai Francesco149

:shipit:
memes
View GitHub Profile

how to build the super mario 64 pc port

the binary will be in build/sm64.us.f3dex2e

PC Port - Before Building

  • get the sm64 US rom in z64 format, rename to baserom.us.z64 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
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;
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 <http://unlicense.org/>
import hmac
import hashlib
import os
import json
import uuid
@Francesco149
Francesco149 / ildumper_script_reader.py
Created October 9, 2019 15:45 — forked from worawit/ildumper_script_reader.py
ghidra script for read script.py 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

requirements

  • 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
Francesco149 / march.v
Last active September 4, 2019 18:10
vlang playground raymarcher in <1000 characters. paste this in https://vlang.io/play and run, it renders a shaded sphere. relies on an early version of vlang and quirks with autoformat, might break pretty soon
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
Francesco149 / _buttery_smooth_vte_with_120fps_patch.md
Last active March 22, 2023 10:15
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 https://streamable.com/j8i0n

also a 60fps clip on twitter if your browser can't handle 120 https://twitter.com/roriicon/status/1113186464332951559

vec4 godrays(float density, float weight, float decay, float exposure,
int numSamples, sampler2D occlusionTexture, vec2 sunPositionScreenSpace,
vec2 uv)
{
vec4 color = vec4(0.0);
vec2 delta = (sunPositionScreenSpace - uv) / float(numSamples) * density;
float intensity = 1.0;
for (int i = 0; i < 1337; ++i) {
if (i >= numSamples) break;
uv += delta;
[uwpspy.cpp:57] log_init: initialized console
[uwpspy.cpp:246] spy_exports: :: api-ms-win-core-winrt-l1-1-0.dll
[uwpspy.cpp:263] spy_exports: 00007FFF95413630 -> RoActivateInstance @450
[uwpspy.cpp:263] spy_exports: 00007FFF95408620 -> RoGetActivationFactory @456
[uwpspy.cpp:263] spy_exports: 00007FFF9546A0F0 -> RoGetApartmentIdentifier @458
[uwpspy.cpp:263] spy_exports: 00007FFF954A1EC0 -> RoInitialize @463
[uwpspy.cpp:263] spy_exports: 00007FFF9549F070 -> RoRegisterActivationFactories @470
[uwpspy.cpp:263] spy_exports: 00007FFF954A3C70 -> RoRegisterForApartmentShutdown @471
[uwpspy.cpp:263] spy_exports: 00007FFF95494DE0 -> RoRevokeActivationFactories @476
[uwpspy.cpp:263] spy_exports: 00007FFF954A4E10 -> RoUninitialize @480