Skip to content

Commit

Permalink
Begin our TypeScript journey
Browse files Browse the repository at this point in the history
  • Loading branch information
pixelpicosean committed Dec 20, 2020
1 parent 8196c5f commit 66e9920
Show file tree
Hide file tree
Showing 157 changed files with 1,782 additions and 1,165 deletions.
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/tscn/main.js"
"program": "${workspaceFolder}/tool/import_assets.js"
}
]
}
4 changes: 2 additions & 2 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
{
"label": "Import Godot",
"type": "shell",
"command": "node tscn/main.js",
"command": "node tool/import_assets.js",
"windows": {
"command": "node tscn\\main.js"
"command": "node tool\\import_assets.js"
},
"group": {
"kind": "build",
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"react-dev-utils": "^11.0.1",
"terser-webpack-plugin": "^5.0.3",
"ts-loader": "^8.0.12",
"tsconfig-paths-webpack-plugin": "^3.3.0",
"typescript": "^4.1.3",
"walk": "^2.3.9",
"webpack": "^5.10.1",
Expand Down
2 changes: 1 addition & 1 deletion src/engine/audio/audio.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Howler, Howl } from "./howler";
import { Howler, Howl } from "./howler.js";

/**
* @typedef PlayingState
Expand Down
2 changes: 1 addition & 1 deletion src/engine/const.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
* Engine version
* @constant
*/
export const ENGINE_VERSION = '4.2.0';
export const ENGINE_VERSION = '4.3.0';
2 changes: 1 addition & 1 deletion src/engine/core/color.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { rgb2hex, hex2rgb } from "engine/utils/color";
import { rgb2hex, hex2rgb } from "engine/utils/color.js";

export class ColorLike {
constructor() {
Expand Down
20 changes: 10 additions & 10 deletions src/engine/core/engine.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,17 @@ import {
get_resource_map,
get_raw_resource_map,
set_binary_pack_list,
} from 'engine/registry';
} from 'engine/registry.js';

import { VSG } from 'engine/servers/visual/visual_server_globals';
import { VSG } from 'engine/servers/visual/visual_server_globals.js';

import { ResourceLoader } from './io/resource_loader';
import { decompress } from './io/z';
import { ResourceLoader } from './io/resource_loader.js';
import { decompress } from './io/z.js';

import { default_font_name, Theme } from 'engine/scene/resources/theme';
import { registered_bitmap_fonts } from 'engine/scene/resources/font';
import { instanciate_scene, assemble_scene } from 'engine/scene/assembler';
import meta from 'meta.json';
import { default_font_name, Theme } from 'engine/scene/resources/theme.js';
import { registered_bitmap_fonts } from 'engine/scene/resources/font.js';
import { instanciate_scene, assemble_scene } from 'engine/scene/assembler.js';
import meta from 'gen/meta.json';

/**
* @typedef {(percent: number) => any} ProgressCallback
Expand Down Expand Up @@ -72,7 +72,7 @@ export class Engine {

// Load resources marked as preload
preload_queue.queue.unshift([`media/${default_font_name}.fnt`]);
preload_queue.queue.unshift([`media/data.vt`]);
preload_queue.queue.unshift([`media/data.tres`]);
for (const settings of preload_queue.queue) {
loader.add.call(loader, ...settings);
}
Expand All @@ -93,7 +93,7 @@ export class Engine {
preload_queue.is_complete = true;
Theme.set_default_font(registered_bitmap_fonts[default_font_name]);

let res_str = decompress(loader.resources['media/data.vt'].data);
let res_str = decompress(loader.resources['media/data.tres'].data);
let resources = JSON.parse(res_str);

// fetch resource map updated by loader
Expand Down
6 changes: 3 additions & 3 deletions src/engine/core/input_map.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { remove_items } from 'engine/dep/index';
import { ProjectSettings } from './project_settings';
import { res_class_map } from 'engine/registry';
import { remove_items } from 'engine/dep/index.js';
import { ProjectSettings } from './project_settings.js';
import { res_class_map } from 'engine/registry.js';

/**
* make some type alias
Expand Down
6 changes: 3 additions & 3 deletions src/engine/core/io/atlas_loader.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import Resource from './io_resource';
import Resource from './io_resource.js';
import {
get_raw_resource_map,
get_resource_map,
} from 'engine/registry';
import { ImageTexture } from 'engine/scene/resources/texture';
} from 'engine/registry.js';
import { ImageTexture } from 'engine/scene/resources/texture.js';


/**
Expand Down
4 changes: 2 additions & 2 deletions src/engine/core/io/b64.js → src/engine/core/io/b64.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ const _keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+
/**
* Encodes binary into base64.
*
* @param {string} input The input data to encode.
* @param input The input data to encode.
*/
export default function encode_binary(input) {
export default function encode_binary(input: string): string {
let output = '';
let inx = 0;

Expand Down
19 changes: 0 additions & 19 deletions src/engine/core/io/bin.js

This file was deleted.

16 changes: 16 additions & 0 deletions src/engine/core/io/bin.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
export function hex_to_u8(str: string): Uint8Array {
let size = str.length / 2;
let buf = new Uint8Array(size);
let character = '.js';

for (let i = 0, len = str.length; i < len; ++i) {
character += str.charAt(i);

if (i > 0 && (i % 2) === 1) {
buf[i >>> 1] = parseInt(character, 16)
character = ".js";
}
}

return buf;
}
8 changes: 4 additions & 4 deletions src/engine/core/io/bmfont_loader.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { get_resource_map } from 'engine/registry';
import { get_resource_map } from 'engine/registry.js';

import { ImageTexture } from 'engine/scene/resources/texture';
import { register_bitmap_font } from 'engine/scene/resources/font';
import { ImageTexture } from 'engine/scene/resources/texture.js';
import { register_bitmap_font } from 'engine/scene/resources/font.js';

import Resource from 'engine/core/io/io_resource';
import Resource from 'engine/core/io/io_resource.js';


/**
Expand Down
3 changes: 1 addition & 2 deletions src/engine/core/io/io_resource.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { VObject } from 'engine/core/v_object';
import { VObject } from 'engine/core/v_object.js';
import parse_uri from './parse_uri';
import { ImageTexture } from 'engine/scene/resources/texture';

let temp_anchor = null;

Expand Down
2 changes: 1 addition & 1 deletion src/engine/core/io/middlewares/caching/memory.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Resource from "../../io_resource";
import Resource from "../../io_resource.js";

// a simple in-memory cache for resources
/** @type {Object<string, any>} */
Expand Down
2 changes: 1 addition & 1 deletion src/engine/core/io/middlewares/parsing/blob.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Resource from '../../io_resource';
import Resource from '../../io_resource.js';
import encode_binary from '../../b64';

// @ts-ignore
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
/**
* @param {string} str
* @param {any} [opts]
*/
export default function parse_uri(str, opts = {}) {
export default function parse_uri(str: string, opts: any = {}) {
const o = {
key: ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'],
q: {
Expand All @@ -16,13 +12,13 @@ export default function parse_uri(str, opts = {}) {
}

const m = o.parser[opts.strictMode ? 'strict' : 'loose'].exec(str);
const uri = {};
const uri: any = {};
let i = 14;

while (i--) uri[o.key[i]] = m[i] || ''

uri[o.q.name] = {};
uri[o.key[12]].replace(o.q.parser, (_0, _1, _2) => {
uri[o.key[12]].replace(o.q.parser, (_0: string, _1: string, _2: string) => {
if (_1) uri[o.q.name][_1] = _2;
});

Expand Down
14 changes: 7 additions & 7 deletions src/engine/core/io/resource_loader.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import { VObject } from 'engine/core/v_object';
import { VObject } from 'engine/core/v_object.js';

import parse_uri from './parse_uri';
import { queue, each_series } from './async';
import Resource from './io_resource';
import blob_middleware_factory from './middlewares/parsing/blob';
import { queue, each_series } from './async.js';
import Resource from './io_resource.js';
import blob_middleware_factory from './middlewares/parsing/blob.js';

import {
loader_pre_procs,
loader_use_procs,
get_raw_resource_map,
} from 'engine/registry';
} from 'engine/registry.js';

import { texture_loader } from './texture_loader';
import { atlas_loader } from './atlas_loader';
import { bmfont_loader } from './bmfont_loader';
import { atlas_loader } from './atlas_loader.js';
import { bmfont_loader } from './bmfont_loader.js';


// some constants
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
import Resource from "./io_resource";
import { ImageTexture } from "engine/scene/resources/texture";
import { get_resource_map, get_raw_resource_map } from "engine/registry";
import Resource from "./io_resource.js";
import { ImageTexture } from "engine/scene/resources/texture.js";
import { get_resource_map, get_raw_resource_map } from "engine/registry.js";

/**
* @param {Resource} resource
* @param {Function} next
*/
export function texture_loader(resource, next) {
export function texture_loader(resource: Resource, next: Function) {
if (resource.data && resource.type === Resource.TYPE.IMAGE) {
const image = new ImageTexture;
image.create_from_image(resource.data);
Expand Down
2 changes: 1 addition & 1 deletion src/engine/core/main_loop.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { VObject, GDCLASS } from "./v_object";
import { VObject, GDCLASS } from "./v_object.js";

export const NOTIFICATION_WM_MOUSE_ENTER = 1002;
export const NOTIFICATION_WM_MOUSE_EXIT = 1003;
Expand Down
2 changes: 1 addition & 1 deletion src/engine/core/math/aabb.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Vector3, Vector3Like } from "./vector3";
import { Vector3, Vector3Like } from "./vector3.js";

/** @type {AABB[]} */
const pool = [];
Expand Down
6 changes: 3 additions & 3 deletions src/engine/core/math/basis.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Vector3, Vector3Like } from './vector3';
import { lerp } from './math_funcs';
import { CMP_EPSILON } from './math_defs';
import { Vector3, Vector3Like } from './vector3.js';
import { lerp } from './math_funcs.js';
import { CMP_EPSILON } from './math_defs.js';

/** @type {Quat[]} */
const quat_pool = [];
Expand Down
12 changes: 6 additions & 6 deletions src/engine/core/math/camera_matrix.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Vector2Like } from "./vector2";
import { Transform } from "./transform";
import { Plane } from "./plane";
import { rad2deg, deg2rad } from "./math_funcs";
import { Vector3 } from "./vector3";
import { Rect2 } from "./rect2";
import { Vector2Like } from "./vector2.js";
import { Transform } from "./transform.js";
import { Plane } from "./plane.js";
import { rad2deg, deg2rad } from "./math_funcs.js";
import { Vector3 } from "./vector3.js";
import { Rect2 } from "./rect2.js";

/** @type {CameraMatrix[]} */
const pool = [];
Expand Down
2 changes: 1 addition & 1 deletion src/engine/core/math/convex.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Vector2 } from "./vector2";
import { Vector2 } from "./vector2.js";

/**
* @param {Vector2[]} vertices
Expand Down
6 changes: 3 additions & 3 deletions src/engine/core/math/geometry.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { clamp } from "./math_funcs";
import { CMP_EPSILON } from "./math_defs";
import { Vector2 } from "./vector2";
import { clamp } from "./math_funcs.js";
import { CMP_EPSILON } from "./math_defs.js";
import { Vector2 } from "./vector2.js";


/**
Expand Down
2 changes: 1 addition & 1 deletion src/engine/core/math/group_d8.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16
import { Transform2D } from './transform_2d';
import { Transform2D } from './transform_2d.js';


const ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1];
Expand Down
4 changes: 2 additions & 2 deletions src/engine/core/math/math_funcs.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import {
DEG_TO_RAD,
RAD_TO_DEG,
CMP_EPSILON,
} from './math_defs';
import { RandomDataGenerator } from './random_pcg';
} from './math_defs.js';
import { RandomDataGenerator } from './random_pcg.js';

const Math_PI2 = Math_PI * 2;

Expand Down
6 changes: 3 additions & 3 deletions src/engine/core/math/octree.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { AABB } from "./aabb";
import { Plane } from "./plane";
import { Vector3Like } from "./vector3";
import { AABB } from "./aabb.js";
import { Plane } from "./plane.js";
import { Vector3Like } from "./vector3.js";

const OCTREE_DIVISOR = 4;

Expand Down
4 changes: 2 additions & 2 deletions src/engine/core/math/plane.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Vector3, Vector3Like } from "./vector3";
import { CMP_EPSILON } from "./math_defs";
import { Vector3, Vector3Like } from "./vector3.js";
import { CMP_EPSILON } from "./math_defs.js";

/** @type {Plane[]} */
const pool = [];
Expand Down
2 changes: 1 addition & 1 deletion src/engine/core/math/pool_color_array.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ColorLike } from "../color";
import { ColorLike } from "../color.js";

export class PoolColorArray {
constructor() {
Expand Down
2 changes: 1 addition & 1 deletion src/engine/core/math/pool_vector2_array.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Vector2Like } from "./vector2";
import { Vector2Like } from "./vector2.js";

export class PoolVector2Array {
constructor() {
Expand Down
2 changes: 1 addition & 1 deletion src/engine/core/math/rect2.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Vector2, Vector2Like } from './vector2';
import { Vector2, Vector2Like } from './vector2.js';

/**
* @type {Rect2[]}
Expand Down
8 changes: 4 additions & 4 deletions src/engine/core/math/transform.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Vector3, Vector3Like } from "./vector3";
import { Basis, Quat } from "./basis";
import { Plane } from "./plane";
import { AABB } from "./aabb";
import { Vector3, Vector3Like } from "./vector3.js";
import { Basis, Quat } from "./basis.js";
import { Plane } from "./plane.js";
import { AABB } from "./aabb.js";

/** @type {Transform[]} */
const pool = [];
Expand Down
6 changes: 3 additions & 3 deletions src/engine/core/math/transform_2d.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Math_PI } from './math_defs';
import { Vector2, Vector2Like } from './vector2';
import { Rect2 } from './rect2';
import { Math_PI } from './math_defs.js';
import { Vector2, Vector2Like } from './vector2.js';
import { Rect2 } from './rect2.js';


const Math_PI2 = Math_PI * 2;
Expand Down
Loading

0 comments on commit 66e9920

Please sign in to comment.