Skip to content

Instantly share code, notes, and snippets.

@f-space
f-space / RoguelikeUI.js
Last active Mar 19, 2019
不思議のダンジョン風のUIをマップ画面に表示するRPGツクールMVプラグイン
View RoguelikeUI.js
/*:
* @plugindesc マップ画面上にステータスを表示する
* @author F_
*
* @param horizontal_margin
* @desc 横方向の余白(px)
* @default 50
*
* @param vertical_margin
* @desc 縦方向の余白(px)
@f-space
f-space / IntersectionObserver.js
Last active Jul 18, 2019
IntersectionObserver FFIs for PureScript.
View IntersectionObserver.js
// @ts-check
"use strict";
/** @typedef {(entries: IntersectionObserverEntry[]) => (observer: IntersectionObserver) => () => void} CurriedIntersectionObserverCallback */
/** @type {(callback: CurriedIntersectionObserverCallback) => (options: IntersectionObserverInit) => () => IntersectionObserver} */
exports.intersectionObserver_ = function (callback) {
return function (options) {
return function () {
@f-space
f-space / ECS.cs
Last active May 31, 2020
A minimal ECS implementation with Unity-like API for a blog entry.
View ECS.cs
using System;
using System.Collections.Generic;
public readonly struct Entity
{
public readonly int ID;
public Entity(int id) => this.ID = id;
}
@f-space
f-space / parser.js
Created Jul 3, 2020
Parser combinators for plugin commands of RPG Maker MV.
View parser.js
const Parser = (() => {
const isOk = result => result.error === undefined;
const succeed = value => (_, i) => ({ value, position: i });
const fail = error => () => ({ error });
const value = (context, parse) => (args, i) => {
if (i < args.length) {
const result = parse(args[i]);
@f-space
f-space / ImproveJsonSerialization.js
Created Jul 3, 2020
JSON serializer/deserializer for RPG Maker MV, which have data compatibility with those in the core script.
View ImproveJsonSerialization.js
/*:ja
* @plugindesc JSONシリアライズの挙動を改善します。
* @author F_
*
* @help
* ツクールのセーブ/ロード時などに使用されるJSONシリアライザ/デシリアライザの挙動を改善します。
*
* ツクール標準のシリアライザは実行中に対象のオブジェクトを書き換え、
* 終了時にいくつかの操作によって元に近い状態へと戻します。
* この挙動は多くの場合に問題なく動作しますが、