Skip to content

Instantly share code, notes, and snippets.

View JoshEngebretson's full-sized avatar

JoshEngebretson

  • North Carolina, USA
View GitHub Profile
@JoshEngebretson
JoshEngebretson / Atomic.d.ts
Created May 27, 2015 13:59
Atomic TypeScript Definition
//Atomic TypeScript Definitions
declare module Atomic {
export enum FrustumPlane {
PLANE_NEAR,
PLANE_LEFT,
PLANE_RIGHT,
@JoshEngebretson
JoshEngebretson / webrequest.js
Last active August 29, 2015 14:22
Web Request
// get the network subsystem
var network = Atomic.getNetwork();
// non blocking http request runs on it's own thread
var request = network.makeHttpRequest("http://www.google.com");
// listen in to engine update
network.subscribeToEvent("Update", function () {
@JoshEngebretson
JoshEngebretson / main.ts
Last active August 29, 2015 14:22
Basic TypeScript
/// <reference path="/Users/josh/Dev/atomic/AtomicGameEngine/Bin/Atomic.d.ts" />
var scene:Atomic.Scene = new Atomic.Scene();
scene.createComponent("Octree");
var cameraNode = scene.createChild("Camera");
cameraNode.position = [0.0, 0.0, -10.0];
var graphics = Atomic.getGraphics();
@JoshEngebretson
JoshEngebretson / Water.js
Created July 11, 2015 20:46
CommonJS compatible components
// CommonJS compatible components
"use strict";
"atomic component";
exports.component = function(self) {
var game = Atomic.game;
var node = self.node;
self.start = function() {
static const wchar_t kPipePrefix[] = L"\\\\.\\pipe\\";
static const int kPipeBufferSz = 4 * 1024;
static LONG g_pipe_seq = 0;
bool checkIntegritySupport()
{
OSVERSIONINFO osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
@JoshEngebretson
JoshEngebretson / Atomic.d.ts
Last active August 29, 2015 14:27
Atomic.d.ts
//Atomic TypeScript Definitions
declare module Atomic {
// enum FrustumPlane
export type FrustumPlane = number;
export var PLANE_NEAR: FrustumPlane;
export var PLANE_LEFT: FrustumPlane;
@JoshEngebretson
JoshEngebretson / Spinner.js
Created August 14, 2015 21:51
Atomic JS Component (Flat)
// Javascript "flat" component
'atomic component';
var inspectorFields = {
speed: 1.0
}
exports.component = function(self) {
@JoshEngebretson
JoshEngebretson / AtomicBunnyMark.js
Created August 17, 2015 21:42
BunnyMark port (WIP)
// This script is the main entry point of the game
var halfWidth = Atomic.graphics.width * Atomic.PIXEL_SIZE * 0.5;
var halfHeight = Atomic.graphics.height * Atomic.PIXEL_SIZE * 0.5;
var maxX = halfWidth;
var minX = -halfWidth;
var maxY = halfHeight;
var minY = -halfHeight;
@JoshEngebretson
JoshEngebretson / example.js
Created August 21, 2015 03:58
Example UI Code
var view = new Atomic.UIView();
// Create a layout, otherwise child widgets won't know how to size themselves
// and would manually need to be sized
var layout = new Atomic.UILayout();
// specify the layout region
layout.rect = view.rect;
view.addChild(layout);
@JoshEngebretson
JoshEngebretson / Jakefile.js
Created September 8, 2015 14:31
Atomic Editor Build Script
// patch in our local node_modules
process.env.NODE_PATH = __dirname + "/Build/node_modules";
require('module').Module._initPaths();
var fs = require('fs-extra');
var path = require('path');
var os = require('os');
var host = os.platform();
var jakeRoot = __dirname;