node-insim
Version:
An InSim library for NodeJS with TypeScript support
146 lines (145 loc) • 5.33 kB
JavaScript
import { __decorate } from "tslib";
import { byte } from '../decorators';
import { SendablePacket } from './base';
import { PacketType } from './enums';
/**
* General purpose 4 byte packet
*/
export class IS_TINY extends SendablePacket {
constructor(data) {
super();
this.Size = 4;
this.Type = PacketType.ISP_TINY;
/** 0 unless it is an info request or a reply to an info request */
this.ReqI = 0;
/** Subtype */
this.SubT = TinyType.TINY_NONE;
this.initialize(data);
}
}
__decorate([
byte()
], IS_TINY.prototype, "Size", void 0);
__decorate([
byte()
], IS_TINY.prototype, "Type", void 0);
__decorate([
byte()
], IS_TINY.prototype, "ReqI", void 0);
__decorate([
byte()
], IS_TINY.prototype, "SubT", void 0);
export var TinyType;
(function (TinyType) {
/** Keep alive - maintain connection */
TinyType[TinyType["TINY_NONE"] = 0] = "TINY_NONE";
/** Info request: get version */
TinyType[TinyType["TINY_VER"] = 1] = "TINY_VER";
/** Instruction: close insim */
TinyType[TinyType["TINY_CLOSE"] = 2] = "TINY_CLOSE";
/** Ping request: external program requesting a reply */
TinyType[TinyType["TINY_PING"] = 3] = "TINY_PING";
/** Ping reply: reply to a ping request */
TinyType[TinyType["TINY_REPLY"] = 4] = "TINY_REPLY";
/** Both ways: game vote cancel (info or request) */
TinyType[TinyType["TINY_VTC"] = 5] = "TINY_VTC";
/** Info request: send camera position */
TinyType[TinyType["TINY_SCP"] = 6] = "TINY_SCP";
/** Info request: send state info */
TinyType[TinyType["TINY_SST"] = 7] = "TINY_SST";
/** Info request: get time in hundredths (i.e. {@link SMALL_RTP}) */
TinyType[TinyType["TINY_GTH"] = 8] = "TINY_GTH";
/** Info: multi player end */
TinyType[TinyType["TINY_MPE"] = 9] = "TINY_MPE";
/** Info request: get multiplayer info (i.e. {@link IS_ISM}) */
TinyType[TinyType["TINY_ISM"] = 10] = "TINY_ISM";
/** Info: race end (return to race setup screen) */
TinyType[TinyType["TINY_REN"] = 11] = "TINY_REN";
/** Info: all players cleared from race */
TinyType[TinyType["TINY_CLR"] = 12] = "TINY_CLR";
/** Info request: get {@link IS_NCN} for all connections */
TinyType[TinyType["TINY_NCN"] = 13] = "TINY_NCN";
/** Info request: get all players */
TinyType[TinyType["TINY_NPL"] = 14] = "TINY_NPL";
/** Info request: get all results */
TinyType[TinyType["TINY_RES"] = 15] = "TINY_RES";
/** Info request: send an {@link IS_NLP} */
TinyType[TinyType["TINY_NLP"] = 16] = "TINY_NLP";
/** Info request: send an {@link IS_MCI} */
TinyType[TinyType["TINY_MCI"] = 17] = "TINY_MCI";
/** Info request: send an {@link IS_REO} */
TinyType[TinyType["TINY_REO"] = 18] = "TINY_REO";
/** Info request: send an {@link IS_RST} */
TinyType[TinyType["TINY_RST"] = 19] = "TINY_RST";
/** Info request: send an {@link IS_AXI} - AutoX Info */
TinyType[TinyType["TINY_AXI"] = 20] = "TINY_AXI";
/** Info: autocross cleared */
TinyType[TinyType["TINY_AXC"] = 21] = "TINY_AXC";
/** Info request: send an {@link IS_RIP} - Replay Information Packet */
TinyType[TinyType["TINY_RIP"] = 22] = "TINY_RIP";
/** Info request: get {@link IS_NCI} for all guests (on host only) */
TinyType[TinyType["TINY_NCI"] = 23] = "TINY_NCI";
/** Info request: send a {@link SMALL_ALC} (allowed cars) */
TinyType[TinyType["TINY_ALC"] = 24] = "TINY_ALC";
/** Info request: send {@link IS_AXM} packets for the entire layout */
TinyType[TinyType["TINY_AXM"] = 25] = "TINY_AXM";
/** Info request: send {@link IS_SLC} packets for all connections */
TinyType[TinyType["TINY_SLC"] = 26] = "TINY_SLC";
/** Info request: send {@link IS_MAL} listing the currently allowed mods */
TinyType[TinyType["TINY_MAL"] = 27] = "TINY_MAL";
/** Info request: send {@link IS_PLH} listing player handicaps */
TinyType[TinyType["TINY_PLH"] = 28] = "TINY_PLH";
/** Info request: send {@link IS_IPB} listing the IP bans */
TinyType[TinyType["TINY_IPB"] = 29] = "TINY_IPB";
})(TinyType || (TinyType = {}));
export const SENDABLE_TINY_TYPES = [
TinyType.TINY_NONE,
TinyType.TINY_VER,
TinyType.TINY_CLOSE,
TinyType.TINY_PING,
TinyType.TINY_VTC,
TinyType.TINY_SCP,
TinyType.TINY_SST,
TinyType.TINY_GTH,
TinyType.TINY_ISM,
TinyType.TINY_NCN,
TinyType.TINY_NPL,
TinyType.TINY_RES,
TinyType.TINY_NLP,
TinyType.TINY_MCI,
TinyType.TINY_REO,
TinyType.TINY_RST,
TinyType.TINY_AXI,
TinyType.TINY_RIP,
TinyType.TINY_NCI,
TinyType.TINY_ALC,
TinyType.TINY_AXM,
TinyType.TINY_SLC,
TinyType.TINY_MAL,
TinyType.TINY_PLH,
TinyType.TINY_IPB,
];
export const INFO_REQUEST_TINY_TYPES = [
TinyType.TINY_VER,
TinyType.TINY_PING,
TinyType.TINY_SCP,
TinyType.TINY_SST,
TinyType.TINY_GTH,
TinyType.TINY_ISM,
TinyType.TINY_NCN,
TinyType.TINY_NPL,
TinyType.TINY_RES,
TinyType.TINY_NLP,
TinyType.TINY_MCI,
TinyType.TINY_REO,
TinyType.TINY_RST,
TinyType.TINY_AXI,
TinyType.TINY_RIP,
TinyType.TINY_NCI,
TinyType.TINY_ALC,
TinyType.TINY_AXM,
TinyType.TINY_SLC,
TinyType.TINY_MAL,
TinyType.TINY_PLH,
TinyType.TINY_IPB,
];