Skip to content

Instantly share code, notes, and snippets.

View awstanley's full-sized avatar

A.W. Stanley awstanley

  • Sydney, Australia
View GitHub Profile
--[[-------------------------------------------------------------------
-- Platform detecting Lua initialisation code
-- Copyright (c) 2014 A.W. Stanley <aws@sysfunc.net>
-- Released under the new BSD License
-------------------------------------------------------------------]]--
local lua_dir = "lua"
local lua_init = "lua/server.lua"
-- Pull the first directory
/*
* Copyright (c) 2006-2014 A.W. Stanley
* Released into the public domain as of
* http://awsta.nley.org/post/88514503005/c-steamid-conversion
*
* An assumption is made about "normal" string inputs.
* Note: 76561197960265728 = 0000 0001 0001 0000 0000 0000 0000 0001
* Universe: (0000 0001)
* Account Type: (0001)
* Instance: (0000 0000 0000 0001)
@awstanley
awstanley / blink1.cpp
Created June 13, 2014 06:32
Clean room hidapi based blink1 miniature library implementation. I didn't even realise hidapi was used in the official tool until someone mentioned it; my general disdain for dealing with the compile issues usually boiled down to dynamic library imports (dlopen, etc.) instead of trying to fix it.
/*
Copyright (c) 2014, A.W. Stanley
Permission to use, copy, modify, and/or distribute this software
for any purpose with or without fee is hereby granted, provided
that the above copyright notice and this permission notice appear
in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
double delta = 0.0f;
double time_now = glfwGetTime();
double time_last = glfwGetTime();
while(my_running_boolean)
{
time_now = glfwGetTime();
delta = (time_now - time_last);
time_last = time_now;
#include <stdint.h> // uint8_t
class Scene
{
public:
virtual void Run() {}
Scene() {}
~Scene() {}
};
@awstanley
awstanley / DockShutdown.cs
Created January 4, 2015 23:56
Current working draft of autonomous docking code shutdown sequence. Untested.
// OnOff code seems to be global
ITerminalAction GetOnOffAction(IMyTerminalBlock block, bool enable)
{
ITerminalAction Action;
if (enable)
{
Action = block.GetActionWithName("Toggle block On");
}
else
{
@awstanley
awstanley / DockShutdown.cs
Created January 4, 2015 23:57
This is some old/test docking code which never got tested. There are potential limitations here, but the aim behind the system was to set flight mode on/off, so that the system could then trigger a "dock" command prior to connecting. The undock sequence would happen AFTER it had been released (connector goes off). Newer code is here: https://gis…
// OnOff code seems to be global...
ITerminalAction GetOnOffAction(IMyTerminalBlock block, bool enable)
{
ITerminalAction Action;
if (enable)
{
Action = block.GetActionWithName("Toggle block On");
}
else
{
@awstanley
awstanley / RefuseRefine.cs
Created January 5, 2015 08:32
Space Engineers "reactor sorting" programming block.
// Name Syntax: "<Friendly List Alias><Cfg_Separator><Resource(s)>"
// Valid resources (without quotation marks):
// "Energetic", "Cobalt", "Gold", "Iron",
// "Nickel", "Platinum", "Silver", "Uranium"
//
// Divide them using the 'Cfg_Separator_Internal' value. e.g.
// [1] Reactor§Uranium
// [2] TwigglyDeFooBarDeBopDeBoop Hrm? Yes, This is quite something§Nickel,Cobalt,Gold
// USE:
@awstanley
awstanley / Name_DetailedInfo.cs
Created January 6, 2015 06:09
Space Engineers script to get information from the block (CSV, but you need to parse it out)
void Main()
{
for (int block = 0; block < GridTerminalSystem.Blocks.Count; block++)
{
if (GridTerminalSystem.Blocks[block] is IMyTerminalBlock)
{
IMyTerminalBlock Block = GridTerminalSystem.Blocks[block];
StringBuilder Str = new StringBuilder(); Str.Append(Block.BlockDefinition.ToString());
Str.Append("[" + Block.DetailedInfo + "] ");
Block.SetCustomName(Str);
@awstanley
awstanley / StrippedBackExample.cs
Last active August 29, 2015 14:13
Space Engineers related code. Stripped back example of the lag causing code. (Updated to include DateTime code, typed manually into it from newer code; it should work, and I tested the error-free nature of it briefly in creative on a random block).
//---------------------------------------------------------------------
// Configuration variables. Define this once, use it everywhere.
// (Save yourself the headache of rewriting it over and over again...)
//
// Two key points here:
// (1) All points should be out of standard usage (e.g. ☼ § « »);
// (2) Anything which MAY need to be typed (ever), should be available
// easily via ASCII or CharMap (for user access). Anything else
// (list delimiting) should be done sanely but copy+paste should
// be more than enough.