The chunk checksum is just a CRC32. It seems to be inverted though. Right now it does nothing except check the signatures of each chunk.
It is easy to add json serialization/unserialization later.
#![feature(unsize)] | |
use std::alloc::Layout; | |
use std::marker::{PhantomData, Unsize}; | |
use std::mem; | |
/// Assumes pointer-sized metadata | |
#[repr(C)] | |
struct DstPointerRepr { | |
data: *mut (), |
# | |
# Comic Chat fixer MITM proxy: fixes Comic Chat to (sort of) work with modern | |
# IRC servers. Tested with Microsoft Chat 2.5 on Windows XP, 8 and 10 | |
# | |
# This is a fork by ave with additional fixes and python3 support | |
# Alongside some other QoL features like color nicks being displayed in chat | |
# https://gist.github.com/aveao/f6d40f41a424b1d9a54c9aba39742b76 | |
# | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU General Public License as published by |
# | |
# Comic Chat fixer MITM proxy: fixes Comic Chat to (sort of) work with modern | |
# IRC servers. Tested with Microsoft Chat 2.5 on Windows XP, 8 and 10 | |
# | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU General Public License as published by | |
# the Free Software Foundation, either version 3 of the License, or | |
# (at your option) any later version. | |
# | |
# This program is distributed in the hope that it will be useful, |
#!/bin/bash | |
DRIVE=/dev/xvda | |
MOUNT_OPTS=defaults,x-mount.mkdir,compress=lzo,ssd,noatime | |
# Set up partitions | |
sgdisk --clear \ | |
--new=1:0:+512MiB --typecode=1:ef00 --change-name=1:EFI \ | |
--new=2:0:0 --typecode=2:8300 --change-name=2:system \ | |
$DRIVE |
extern crate tcod; | |
extern crate specs; | |
use tcod::console::{Root}; | |
use specs::{System, VecStorage, Component, World, Builder, WriteStorage, DispatcherBuilder}; | |
#[derive(Debug)] | |
enum Command { | |
PutCharacter(char,i32,i32), | |
Clear, |
export const KEY_TAB = 9; | |
export const KEY_SHIFT = 16; | |
export const KEY_CONTROL = 17; | |
export const KEY_ALT = 18; | |
export const KEY_SPACE = 32; | |
export const KEY_LEFT = 37; | |
export const KEY_UP = 38; | |
export const KEY_RIGHT = 39; | |
export const KEY_DOWN = 40; | |
export const KEY_E = 69; |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>Game</title> | |
<link rel="stylesheet" href="style.css"> | |
</head> | |
<body> | |
<canvas class="flow" width="320" height="180"></canvas> |
#!/bin/bash | |
for cmd in "$@" | |
do | |
filename="${cmd%.*}" | |
echo "Encoding $cmd" | |
ffmpeg -i "$cmd" -codec:a libmp3lame -b:a 320k -nostats -hide_banner -y -loglevel 0 "$filename.mp3" | |
done |
-o "%(uploader)s - %(title)s - %(id)s.%(ext)s" | |
--add-metadata | |
--merge-output-format mp4 -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' | |
--no-playlist | |
--write-info-json | |
--write-thumbnail |