Skip to content

Instantly share code, notes, and snippets.

Ethan Lee flibitijibibo

Block or report user

Report or block flibitijibibo

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@flibitijibibo
flibitijibibo / wmpcvt.sh
Created Apr 14, 2019
Convert WMA/WMV to Vorbis/Theora, useful for XNA Windows games
View wmpcvt.sh
#!/bin/bash
set -e
find -name "*.wma" -exec bash -c 'ffmpeg -i "{}" -q:a 10 "${0/.wma}.ogg"' {} \;
find -name "*.wmv" -exec bash -c 'ffmpeg -i "{}" -q:v 10 -q:a 10 "${0/.wmv}.ogv"' {} \;
@flibitijibibo
flibitijibibo / README.md
Last active Dec 18, 2018
flibit's game list for FAudio/XAudio2 research. Not official, not important, probably better off not reading it unless you're doing research yourself.
View README.md

UPDATE: Thanks to my current partnerships I'm now able to access various games on Steam as I need them. This document is now (mostly) obsolete, unless you just want to give me keys for no reason at all.

This is my internal hit list for researching XAudio2, to aid in developing FAudio.

When working on large amounts of games in an unofficial capacity, it can be difficult finding which games even have XAudio2 in the first place, let alone use a feature set that we can take apart and implement. Generally you have to Google the game with variants of "xaudio2" and pray that a support ticket comes up (most of the time, nothing comes up), though occasionally you get lucky and it shows up in a database like this.

Even then, once you have a list, you have to figure out how to work with your budget - sure, it's a tax writeoff, but to spend money you usually need to... er, have money. The tradition up to now was to use a small Steam Wallet alon

@flibitijibibo
flibitijibibo / SDL2-CS.diff
Created Sep 10, 2018
Fix for Terraria when using fnaUpdate.sh
View SDL2-CS.diff
diff --git a/src/SDL2.cs b/src/SDL2.cs
index 147236b..002668c 100644
--- a/src/SDL2.cs
+++ b/src/SDL2.cs
@@ -160,6 +160,10 @@ namespace SDL2
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr SDL_RWFromMem(IntPtr mem, int size);
+ /* IntPtr refers to an SDL_RWops */
+ [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
@flibitijibibo
flibitijibibo / steamedhams.cs
Created Jul 6, 2018
VideoPlayer demo with reflection used to access the sound stream directly
View steamedhams.cs
/* VideoPlayer DynamicSoundEffectInstance Reverb/Filter Test Program
* Written by Ethan "flibitijibibo" Lee
* http://www.flibitijibibo.com/
*
* Released under public domain.
* No warranty implied; use at your own risk.
*/
using System;
using System.Reflection;
@flibitijibibo
flibitijibibo / Event_SDL.h
Last active Apr 11, 2018
I needed an equivalent to Win32's Event object, so here's an SDL version. Probably isn't good.
View Event_SDL.h
/* SDL-based Event Object Copycat
* Written by Ethan "flibitijibibo" Lee
*
* Released under public domain.
* No warranty implied; use at your own risk.
*/
#include <SDL2/SDL.h>
typedef struct EventObject EventObject;
@flibitijibibo
flibitijibibo / stardewFNA.sh
Last active Feb 26, 2017
Script for converting Stardew Valley for Windows (XNA) to Linux/macOS-compatible (FNA)
View stardewFNA.sh
#!/bin/bash
# Stardew Valley XnaToFna Automation Script
# Written by Ethan "flibitijibibo" Lee
#
# Usage: Place in Stardew Valley folder, run from terminal.
# NOTE: Be sure you have Mono 4.4 or newer! Stardew's XML structures need it!
# Be smart. Be safe.
set -e
@flibitijibibo
flibitijibibo / flibitPackaging.md
Created Jun 17, 2016
Hope you like reading ldd output!
View flibitPackaging.md

A week ago I was CC'd in on a thread about Linux packaging, and how to avoid doing it the wrong way (i.e. RPM, Deb, etc.). I've always used MojoSetup and I've never forced distributions to do any additional work, but this is still a new concept to a lot of people. Additionally, Amos suggested that I expand on Itch's FNA appendix, so here's a guide on how I package my games.

This is a bit of an expansion on my MAGFest 2016 presentation, which you can find here:

http://www.flibitijibibo.com/magfest2016/

https://www.youtube.com/watch?v=B83CWUh0Log

I would recommend looking at that first! After that, read on...

@flibitijibibo
flibitijibibo / fnaUpdate.sh
Created May 24, 2016
Use this to update a game's FNA installation!
View fnaUpdate.sh
#!/bin/bash
# FNA Update Script
# Written by Ethan "flibitijibibo" Lee
#
# Released under public domain.
# No warranty implied; use at your own risk.
#
# Run this script in the game's executable folder.
# For OSX this will be Game.app/Contents/MacOS/.
#
@flibitijibibo
flibitijibibo / trisdl.c
Created Mar 30, 2016
LunarG Vulkan Triangle Demo ported to SDL2 (Linux-tested only)
View trisdl.c
/*
* Copyright (c) 2015-2016 The Khronos Group Inc.
* Copyright (c) 2015-2016 Valve Corporation
* Copyright (c) 2015-2016 LunarG, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and/or associated documentation files (the "Materials"), to
* deal in the Materials without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Materials, and to permit persons to whom the Materials are
@flibitijibibo
flibitijibibo / MonoXmlRuiner.cs
Last active Mar 15, 2016
This works in .NET, but breaks in Mono. To be fair, this code is not great and the compiler warns on it.
View MonoXmlRuiner.cs
using System;
using System.IO;
using System.Xml.Serialization;
namespace MonoXmlRuiner
{
[Serializable]
public class Object
{
public int price;
You can’t perform that action at this time.