Skip to content

Instantly share code, notes, and snippets.

View Kattoor's full-sized avatar

Jasper Catthoor Kattoor

View GitHub Profile
@Kattoor
Kattoor / index.js
Created February 3, 2025 14:50
Arcanist deserializer
import fs from 'fs';
import createKbuffer from "./kbuffer.js";
import pg from 'pg';
const {Pool} = pg;
const pool = new Pool({
host: 'localhost', port: 5432, user: 'postgres', password: 'nope', database: 'postgres',
});
@Kattoor
Kattoor / index.js
Created February 3, 2025 13:16
Arcanist Replay Downloader
import fs from 'fs';
import https from 'https';
const cutOffDate = '2024-07-15';
const dictionaryFilePath = './replays.json';
const replayFilesOutPath = './replays';
const discordUrl = 'https://discord.com/api/v9/channels/760349009192943656/messages?limit=100';
@Kattoor
Kattoor / pff-to-3di-to-obj.mjs
Created January 8, 2025 14:49
pff-to-3di-to-obj.mjs
import fs from 'fs';
const bhdDirectory = 'C:\\Users\\jaspe\\Desktop\\NovaLogic\\Delta Force Black Hawk Down';
const packedFilePath = `${bhdDirectory}\\resource.pff`;
const outputDirectory = `${bhdDirectory}\\extracted\\obj`;
if (!fs.existsSync(outputDirectory)) {
fs.mkdirSync(outputDirectory, {recursive: true});
}
@Kattoor
Kattoor / BrighterShoresAMA.md
Created December 11, 2024 15:55
Brighter Shores AMA

nyargc95

Playing brighter shores on steam link is great. Is there an ETA on a mobile version of the game or will that come after full release?

Samuel-FenResearch

The mobile version will probably launch after we come out of early access. We don't want to launch on mobile TOO soon because the update process on mobile is a lot more onerous and requires a rather slow approval process from the mobile platform. This won't work well whilst we are pushing out updates so frequently. So we want to wait until we are into more a regular update cadence first.

~ Andrew


@Kattoor
Kattoor / arcanists2-sandbox-commands.md
Created May 2, 2024 11:32
Arcanists2 Sandbox Commands

In sandbox, type TAB to enter a command

Cast a spell

Just type the spell name and press ENTER (e.g. shock bomb, mud ball, fissure, ...) The spell is thrown at the direction of your cursor

Throwing power

You can set the power with which you throw a spell using the command power.NUMBER where NUMBER is a number between 50 and 2000 Every spell that you cast after setting a specific power, will be thrown at that power.

@Kattoor
Kattoor / arcanists2-sandbox-commands.md
Created May 2, 2024 11:29
Arcanists2 Sandbox Commands

In sandbox, type TAB to enter a command

Cast a spell

Just type the spell name and press ENTER (e.g. shock bomb, mud ball, fissure, ...) The spell is thrown at the direction of your cursor GIF

Throwing power

You can set the power with which you throw a spell using the command power.NUMBER where NUMBER is a number between 50 and 2000 Every spell that you cast after setting a specific power, will be thrown at that power.

@Kattoor
Kattoor / arcanists2-sandbox-commands.md
Created May 2, 2024 11:29
Arcanists2 Sandbox Commands

In sandbox, type TAB to enter a command

Cast a spell

Just type the spell name and press ENTER (e.g. shock bomb, mud ball, fissure, ...) The spell is thrown at the direction of your cursor https://gyazo.com/8ee5fc524b78413dac157f8c1481a6e1.mp4

Throwing power

You can set the power with which you throw a spell using the command power.NUMBER where NUMBER is a number between 50 and 2000 Every spell that you cast after setting a specific power, will be thrown at that power.

@Kattoor
Kattoor / gist:1f720c1803bc9872308b2e171eaf8459
Created May 2, 2024 08:44
Arcanists 2 sandbox commands
In sandbox, type TAB to enter a command
1. Cast a spell
Just type the spell name and press ENTER (e.g. shock bomb, mud ball, fissure, ...)
The spell is thrown at the direction of your cursor
https://gyazo.com/8ee5fc524b78413dac157f8c1481a6e1
2. Throwing power
You can set the power with which you throw a spell using the command `power.NUMBER` where NUMBER is a number between 50 and 2000
Every spell that you cast after setting a specific power, will be thrown at that power.
import {globby} from 'globby';
import fs from 'fs';
import {execSync} from 'child_process';
const path = 'C:\\Users\\jaspe\\out\\\\';
const filePaths = (await globby('**/*.dds', {cwd: path})).map((pathSuffix) => path + pathSuffix.replace(/\//g, '\\'));
let count = 0;
import {globby} from 'globby';
import workerpool from 'workerpool';
import {dirname} from 'path';
import {fileURLToPath} from 'url';
import {open} from 'yauzl';
import fs from 'fs';
const start = Date.now();
const yellow = "\x1b[33m%s\x1b[0m";
const cyan = "\x1b[36m%s\x1b[0m"