Skip to content

Commit

Permalink
Cleanup project structure a bit
Browse files Browse the repository at this point in the history
Move files at top level to correct subfolder

Also, fuck relative paths, all my homies use baseURL 😎
  • Loading branch information
arthuro555 committed Oct 26, 2022
1 parent c216a07 commit 7a412d6
Show file tree
Hide file tree
Showing 35 changed files with 129 additions and 91 deletions.
4 changes: 2 additions & 2 deletions code/Adapter.ts → code/adapters/Adapter.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { setConnectionState } from "./client/ClientConnectionState";
import { setConnectionState } from "client/ClientConnectionState";
import {
ClientMessage,
ServerMessage,
ByteBuffer,
type Builder,
} from "./t-h-n-k";
} from "t-h-n-k";
import { inflateRaw, deflateRaw } from "pako";

const decompress = (data: Uint8Array): Uint8Array =>
Expand Down
2 changes: 1 addition & 1 deletion code/adapters/geckos-client.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/// <reference path="../global.d.ts"/>
/// <reference path="../types/global.d.ts"/>
import { geckos, type ClientChannel } from "@geckos.io/client";
const logger = new gdjs.Logger("THNK - Geckos.io Adapter");

Expand Down
2 changes: 1 addition & 1 deletion code/adapters/geckos-server.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/// <reference path="../global.d.ts"/>
/// <reference path="../types/global.d.ts"/>
import type {
geckos as GeckosType,
GeckosServer,
Expand Down
2 changes: 1 addition & 1 deletion code/adapters/p2p.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/// <reference path="../global.d.ts"/>
/// <reference path="../types/global.d.ts"/>
const logger = new gdjs.Logger("THNK - P2P Adapter");
namespace THNK {
class P2PConnectionAwaiter extends gdjs.AsyncTask {
Expand Down
6 changes: 3 additions & 3 deletions code/client/ApplyGameStateSnapshot.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { GameStateSnapshot } from "../t-h-n-k";
import { deserializeObject } from "./ObjectDeserializer";
import { unpackVariable } from "../VariablePacker";
import { GameStateSnapshot } from "t-h-n-k";
import { deserializeObject } from "client/ObjectDeserializer";
import { unpackVariable } from "utils/VariablePacker";

export const applyGameStateSnapshotToScene = (
gameState: GameStateSnapshot,
Expand Down
6 changes: 3 additions & 3 deletions code/client/ApplyGameStateUpdate.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { GameStateDiff } from "../t-h-n-k";
import { deserializeObject } from "./ObjectDeserializer";
import { deserializeVariable } from "./VariableDeserializer";
import { GameStateDiff } from "t-h-n-k";
import { deserializeObject } from "client/ObjectDeserializer";
import { deserializeVariable } from "client/VariableDeserializer";

export const applyGameStateUpdateToScene = (
gameState: GameStateDiff,
Expand Down
6 changes: 3 additions & 3 deletions code/client/ClientLifetimeFunctions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import {
ResumePreviousSceneMessage,
SceneSwitchMessage,
ServerMessageContent,
} from "../t-h-n-k";
import { applyGameStateSnapshotToScene } from "./ApplyGameStateSnapshot";
import { applyGameStateUpdateToScene } from "./ApplyGameStateUpdate";
} from "t-h-n-k";
import { applyGameStateSnapshotToScene } from "client/ApplyGameStateSnapshot";
import { applyGameStateUpdateToScene } from "client/ApplyGameStateUpdate";

const logger = new gdjs.Logger("THNK - Client");
const runClientTickPreEvent = (runtimeScene: gdjs.RuntimeScene) => {
Expand Down
4 changes: 2 additions & 2 deletions code/client/ClientMessageSender.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { type ClientAdapter } from "../Adapter";
import { type ClientAdapter } from "../adapters/Adapter";
import {
Builder,
ClientInputMessage,
ClientMessage,
ClientMessageContent,
ConnectionRequestMessage,
} from "../t-h-n-k";
import { packVariable } from "../VariablePacker";
import { packVariable } from "../utils/VariablePacker";

export const sendConnectionRequest = (
adapter: ClientAdapter,
Expand Down
6 changes: 3 additions & 3 deletions code/client/ObjectDeserializer.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { GameObject } from "../t-h-n-k";
import { unpackVariable } from "../VariablePacker";
import { deserializeVariable } from "./VariableDeserializer";
import { GameObject } from "t-h-n-k";
import { unpackVariable } from "utils/VariablePacker";
import { deserializeVariable } from "client/VariableDeserializer";

export const deserializeObject = (
gameObject: GameObject,
Expand Down
13 changes: 6 additions & 7 deletions code/client/StartClient.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import { type ClientAdapter } from "../Adapter";
import { ServerMessage, ServerMessageContent } from "../t-h-n-k";
import { ConnectionStartMessage } from "../t-h-n-k/connection-start-message";
import { applyGameStateSnapshotToScene } from "./ApplyGameStateSnapshot";
import { sendConnectionRequest } from "./ClientMessageSender";
import { setConnectionState } from "./ClientConnectionState";
import { THNKClientContext } from "./THNKClientContext";
import { type ClientAdapter } from "adapters/Adapter";
import { ServerMessage, ServerMessageContent, ConnectionStartMessage } from "t-h-n-k";
import { applyGameStateSnapshotToScene } from "client/ApplyGameStateSnapshot";
import { sendConnectionRequest } from "client/ClientMessageSender";
import { setConnectionState } from "client/ClientConnectionState";
import { THNKClientContext } from "client/THNKClientContext";

const logger = new gdjs.Logger("THNK - Client");
const fail = (reason: string) => {
Expand Down
4 changes: 2 additions & 2 deletions code/client/THNKClientContext.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { ClientAdapter } from "../Adapter";
import { ClientObjectsRegistery } from "./ClientObjectsRegistery";
import type { ClientAdapter } from "adapters/Adapter";
import { ClientObjectsRegistery } from "client/ClientObjectsRegistery";

export class THNKClientContext {
readonly adapter: ClientAdapter;
Expand Down
2 changes: 1 addition & 1 deletion code/client/VariableDeserializer.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { VariableTypes, CollectionOperationType, Variable } from "../t-h-n-k";
import { VariableTypes, CollectionOperationType, Variable } from "t-h-n-k";

export const deserializeVariable = (
variable: gdjs.Variable,
Expand Down
6 changes: 3 additions & 3 deletions code/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
export * as server from "./server";
export * as client from "./client";
export { ClientAdapter, ServerAdapter } from "./Adapter";
export * as settings from "./Settings";
export * as players from "./PlayerContext";
export { ClientAdapter, ServerAdapter } from "./adapters/Adapter";
export * as settings from "./utils/Settings";
export * as players from "./server/PlayerContext";

// A sort of polyfill to unify the different text objects get/set APIs.
{
Expand Down
4 changes: 2 additions & 2 deletions code/server/ClientMessagesQueue.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { switchPlayerContext } from "../PlayerContext";
import { unpackVariable } from "../VariablePacker";
import { switchPlayerContext } from "server/PlayerContext";
import { unpackVariable } from "utils/VariablePacker";

interface Message {
initiatorUserID: string;
Expand Down
4 changes: 2 additions & 2 deletions code/server/MakeObjectSnapshot.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { type Builder, GameObject, ObjState } from "../t-h-n-k";
import { packVariable } from "../VariablePacker";
import { type Builder, GameObject, ObjState } from "t-h-n-k";
import { packVariable } from "utils/VariablePacker";

export const makeObjectSnapshot = (
builder: Builder,
Expand Down
5 changes: 2 additions & 3 deletions code/server/MakeSceneSnaphsot.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Builder, GameStateSnapshot } from "../t-h-n-k";
import { CreatedObject } from "../t-h-n-k/created-object";
import { packVariable } from "../VariablePacker";
import { Builder, GameStateSnapshot } from "t-h-n-k";
import { packVariable } from "utils/VariablePacker";

export const makeSceneSnapshot = (
builder: Builder,
Expand Down
2 changes: 1 addition & 1 deletion code/server/ObjectDiffer.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { type Builder, GameObject, ObjState } from "../t-h-n-k";
import { type Builder, GameObject, ObjState } from "t-h-n-k";

export const diffObject = (
builder: Builder,
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions code/server/PlayersManager.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { switchPlayerContext } from "../PlayerContext";
import { SyncedVariable } from "./SyncedVariable";
import { switchPlayerContext } from "server/PlayerContext";
import { SyncedVariable } from "server/SyncedVariable";

class Player {
variable = new SyncedVariable();
Expand Down
3 changes: 1 addition & 2 deletions code/server/SceneDiffer.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { Builder, GameStateDiff } from "../t-h-n-k";
import { CreatedObject } from "../t-h-n-k/created-object";
import { Builder, GameStateDiff, CreatedObject } from "t-h-n-k";

export const diffScene = (
builder: Builder,
Expand Down
12 changes: 6 additions & 6 deletions code/server/ServerLifetimeFunctions.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { ClientInputMessage, ClientMessageContent } from "../t-h-n-k";
import { ClientInputMessage, ClientMessageContent } from "t-h-n-k";
import {
sendGameStateUpdateMessageToAll,
sendConnectionStartMessageTo,
sendSceneSwitchMessageToAll,
sendSceneResumeMessageToSome,
} from "./ServerMessageSender";
import { addSerializedMessageToTheQueue } from "./ClientMessagesQueue";
import { getTickRate } from "../Settings";
import { setupSceneAsServer } from "./SetupServerScene";
import { ServerAdapter } from "../Adapter";
} from "server/ServerMessageSender";
import { addSerializedMessageToTheQueue } from "server/ClientMessagesQueue";
import { getTickRate } from "utils/Settings";
import { setupSceneAsServer } from "server/SetupServerScene";
import { ServerAdapter } from "adapters/Adapter";

const logger = new gdjs.Logger("THNK - Server");
let timer = 0;
Expand Down
8 changes: 4 additions & 4 deletions code/server/ServerMessageSender.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { ServerAdapter } from "../Adapter";
import type { ServerAdapter } from "adapters/Adapter";
import {
Builder,
GameStateUpdateMessage,
Expand All @@ -7,9 +7,9 @@ import {
ConnectionStartMessage,
SceneSwitchMessage,
ResumePreviousSceneMessage,
} from "../t-h-n-k";
import { makeSceneSnapshot } from "./MakeSceneSnaphsot";
import { diffScene } from "./SceneDiffer";
} from "t-h-n-k";
import { makeSceneSnapshot } from "server/MakeSceneSnaphsot";
import { diffScene } from "server/SceneDiffer";

export const sendConnectionStartMessageTo = (
userID: string,
Expand Down
12 changes: 8 additions & 4 deletions code/server/ServerObjectsRegistery.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { Builder } from "../t-h-n-k";
import { makeObjectSnapshot } from "./MakeObjectSnapshot";
import { diffObject } from "./ObjectDiffer";
import { SyncedVariable } from "./SyncedVariable";
import type { Builder } from "t-h-n-k";
import { makeObjectSnapshot } from "server/MakeObjectSnapshot";
import { diffObject } from "server/ObjectDiffer";
import { SyncedVariable } from "server/SyncedVariable";

const logger = new gdjs.Logger("THNK - Objects replication");

Expand Down Expand Up @@ -31,6 +31,10 @@ export class ServerObjectsRegistery {

private readonly registeredObjects = new Map<number, gdjs.RuntimeObject>();

forEach(callback: (obj: gdjs.RuntimeObject) => void) {
for (const obj of this.registeredObjects.values()) callback(obj);
}

registerObject(obj: gdjs.RuntimeObject) {
obj.thnkID = this.generateNewID();
this.registeredObjects.set(obj.thnkID, obj);
Expand Down
8 changes: 4 additions & 4 deletions code/server/SetupServerScene.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { ServerAdapter } from "../Adapter";
import { isDedicated } from "../Settings";
import { SyncedVariable } from "./SyncedVariable";
import { THNKServerContext } from "./THNKServerContext";
import type { ServerAdapter } from "adapters/Adapter";
import { isDedicated } from "utils/Settings";
import { SyncedVariable } from "server/SyncedVariable";
import { THNKServerContext } from "server/THNKServerContext";

/**
* Sets up a scene's server context, so that it may act as a THNK server.
Expand Down
4 changes: 2 additions & 2 deletions code/server/StartServer.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { type ServerAdapter } from "../Adapter";
import { setupSceneAsServer } from "./SetupServerScene";
import { type ServerAdapter } from "adapters/Adapter";
import { setupSceneAsServer } from "server/SetupServerScene";

const logger = new gdjs.Logger("THNK - Server");
/**
Expand Down
6 changes: 3 additions & 3 deletions code/server/SyncedVariable.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import "../tests-utils/gdjs-mock";
import { SyncedVariable } from "./SyncedVariable";
import { deserializeVariable } from "../client/VariableDeserializer";
import { Variable, Builder, ByteBuffer } from "../t-h-n-k";
import { SyncedVariable } from "server/SyncedVariable";
import { deserializeVariable } from "client/VariableDeserializer";
import { Variable, Builder, ByteBuffer } from "t-h-n-k";

const serializeVar = (variable: SyncedVariable) => {
const b = new Builder(512);
Expand Down
10 changes: 8 additions & 2 deletions code/server/SyncedVariable.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import {
Builder,
Variable,
CollectionOperation,
CollectionOperationType,
VariableTypes,
} from "../t-h-n-k";
import type { Builder } from "../t-h-n-k";
} from "t-h-n-k";

/**
* A modified {@link gdjs.Variable} that keeps track of all modifications that were made to it.
Expand Down Expand Up @@ -309,4 +309,10 @@ export class SyncedVariable extends gdjs.Variable {
Variable.addOperations(builder, operationsOffset);
return Variable.endVariable(builder);
}

serializeToBinary() {
const builder = new Builder(64);
builder.finish(this.serialize(builder));
return builder.asUint8Array();
}
}
8 changes: 4 additions & 4 deletions code/server/THNKServerContext.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { ServerAdapter } from "../Adapter";
import { PlayerManager } from "./PlayersManager";
import { ServerObjectsRegistery } from "./ServerObjectsRegistery";
import type { SyncedVariable } from "./SyncedVariable";
import type { ServerAdapter } from "adapters/Adapter";
import { PlayerManager } from "server/PlayersManager";
import { ServerObjectsRegistery } from "server/ServerObjectsRegistery";
import type { SyncedVariable } from "server/SyncedVariable";

export class THNKServerContext {
/** The adapter used by the scene to get new messages from the client. */
Expand Down
4 changes: 2 additions & 2 deletions code/global.d.ts → code/types/global.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export * from ".";
import type { ClientAdapter, ServerAdapter } from "./Adapter";
export * from "..";
import type { ClientAdapter, ServerAdapter } from "adapters/Adapter";
export class GeckosClientAdapter extends ClientAdapter {
constructor(ip: string, port: number) {}
}
Expand Down
12 changes: 6 additions & 6 deletions code/thnk.d.ts → code/types/thnk.d.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { ClientAdapter, ServerAdapter } from "./Adapter";
import { ClientObjectsRegistery } from "./client/ClientObjectsRegistery";
import { THNKClientContext } from "./client/THNKClientContext";
import { ServerObjectsRegistery } from "./server/ServerObjectsRegistery";
import { SyncedVariable } from "./server/SyncedVariable";
import { THNKServerContext } from "./server/THNKServerContext";
import { ClientAdapter, ServerAdapter } from "adapters/Adapter";
import { ClientObjectsRegistery } from "client/ClientObjectsRegistery";
import { THNKClientContext } from "client/THNKClientContext";
import { ServerObjectsRegistery } from "server/ServerObjectsRegistery";
import { SyncedVariable } from "server/SyncedVariable";
import { THNKServerContext } from "server/THNKServerContext";

declare global {
namespace gdjs {
Expand Down
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 7a412d6

Please sign in to comment.