Skip to content

Instantly share code, notes, and snippets.

@kaikoga
kaikoga / vrc-bundle.rb
Last active January 27, 2024 10:49
vrc-bundle
#!/usr/bin/env ruby
# How to use:
# $ cd /path/to/vpm.package
# $ vrc-bundle
# $ mv *.zip /path/to/vpm.repository
# $ cd /path/to/vpm.repository
# $ vrc-bundle
def package
@kaikoga
kaikoga / LooselyTypedAttribute.cs
Created March 5, 2023 03:56
UdonSharpの外部アセットへの参照を突っ込むフィールドにつけるとゆるく型チェックしてくれるやつ
using UnityEngine;
namespace Silksprite.Attributes
{
public class LooselyTypedAttribute : PropertyAttribute
{
public readonly string TypeName;
public LooselyTypedAttribute(string typeName)
{

Original text is https://gitlab.com/VRCFury/VRCFury/-/blob/main/README.md of revision bee07fddad72ecee3469a96b32e3d08cb03020d0. Absolutely unofficial translation by kaikoga.

VRC Fury - 全部入り VRChat アイテム・着せ替え・表情エディタ

アニメーションやメニュー設定で消耗せずにトグルスイッチ・表情・スライダー・着せ替えなどを簡単設定! ドラッグ&ドロップ一発で簡単アバター改変!

サポート

@kaikoga
kaikoga / LocalizedPropertyField.cs
Created January 9, 2023 09:59
The best PropertyField implementation for UIElements (considering on-the-fly localization)
using UnityEditor;
using UnityEngine.UIElements;
public class LocalizedPropertyField : VisualElement
{
// Because it is currently the only simple way to dynamically update label content
public LocalizedPropertyField(SerializedProperty property, LocalizedContent locLabel)
{
Add(new IMGUIContainer(() =>
{
@kaikoga
kaikoga / 18.jsonl
Created June 4, 2021 11:59
#LovelyComposer_Jam1
{"__LCMusicDataHeader__": true, "data_version": 6, "app_version": "1.0.0", "app_name": "Lovely Composer", "write_protected_flag": false}
{"__LCMusic__": true, "speed": 14, "loop_start_bar": 0, "loop_end_bar": 9, "enable_loop": true, "channels": {"__LCChannelList__": true, "channels": [{"__LCSoundList__": true, "sl": [{"__LCSound__": true, "vl": [{"__LCVoice__": true, "n": 65, "t": 2, "v": 5, "f": 3, "id": 4}, {"__LCVoice__": true, "n": null, "t": 0, "v": 0, "f": 0, "id": null}, {"__LCVoice__": true, "n": null, "t": 0, "v": 0, "f": 0, "id": null}, {"__LCVoice__": true, "n": 65, "t": 2, "v": 5, "f": 3, "id": 4}, {"__LCVoice__": true, "n": null, "t": 0, "v": 5, "f": 0, "id": null}, {"__LCVoice__": true, "n": null, "t": 0, "v": 5, "f": 0, "id": null}, {"__LCVoice__": true, "n": 65, "t": 2, "v": 5, "f": 3, "id": 4}, {"__LCVoice__": true, "n": null, "t": 0, "v": 5, "f": 0, "id": null}, {"__LCVoice__": true, "n": null, "t": 0, "v": 5, "f": 0, "id": null}, {"__LCVoice__": true, "n": 65, "t": 2, "v": 5, "f": 3, "id":
#!/usr/bin/env ruby
loop{puts `git cat-file -p #{gets.chomp}`}
#!/usr/bin/env ruby
force = ARGV.include? "-f"
current_branch = `git symbolic-ref --short HEAD`.chomp
remote_branches = `git branch -r --list`.
split("\n").
map(&:strip).
map{|a|a.split("/")[1..-1].join("/")}
#!/usr/bin/env ruby
TEMP_BRANCH_NAMES = ["🍣", "🍤", "🍖", "🍕", "🍺", "🍷"]
local_branches = `git branch --list`.force_encoding('utf-8').
gsub(/^\* /, '').
split("\n").
map(&:strip)
if ARGV.include? '-d'
-main TestMain
-swf-version 11
-swf build/as3_test.swf
-lib nanotest
-cp src
-cp asserts
-cp tests
-debug
-D fdb
--no-output