UNPKG

@slippi/slippi-js

Version:
348 lines 9.43 kB
export declare enum Command { SPLIT_MESSAGE = 16, MESSAGE_SIZES = 53, GAME_START = 54, PRE_FRAME_UPDATE = 55, POST_FRAME_UPDATE = 56, GAME_END = 57, FRAME_START = 58, ITEM_UPDATE = 59, FRAME_BOOKEND = 60, GECKO_LIST = 61, FOD_PLATFORM = 63, WHISPY = 64, STADIUM_TRANSFORMATION = 65 } export type PlayerType = { playerIndex: number; port: number; characterId: number | null; type: number | null; startStocks: number | null; characterColor: number | null; teamShade: number | null; handicap: number | null; teamId: number | null; staminaMode: boolean | null; silentCharacter: boolean | null; invisible: boolean | null; lowGravity: boolean | null; blackStockIcon: boolean | null; metal: boolean | null; startOnAngelPlatform: boolean | null; rumbleEnabled: boolean | null; cpuLevel: number | null; offenseRatio: number | null; defenseRatio: number | null; modelScale: number | null; controllerFix: string | null; nametag: string | null; displayName: string; connectCode: string; userId: string; }; export declare enum GameMode { VS = 2, ONLINE = 8, TARGET_TEST = 15, HOME_RUN_CONTEST = 32 } export declare enum Language { JAPANESE = 0, ENGLISH = 1 } export type GameStartType = { slpVersion: string | null; timerType: TimerType | null; inGameMode: number | null; friendlyFireEnabled: boolean | null; isTeams: boolean | null; stageId: number | null; startingTimerSeconds: number | null; itemSpawnBehavior: ItemSpawnType | null; enabledItems: number | null; players: PlayerType[]; scene: number | null; gameMode: GameMode | null; language: Language | null; gameInfoBlock: GameInfoType | null; randomSeed: number | null; isPAL: boolean | null; isFrozenPS: boolean | null; matchInfo: MatchInfo | null; }; type MatchInfo = { matchId: string | null; gameNumber: number | null; tiebreakerNumber: number | null; }; export type FrameStartType = { frame: number | null; seed: number | null; sceneFrameCounter: number | null; }; export type GameInfoType = { gameBitfield1: number | null; gameBitfield2: number | null; gameBitfield3: number | null; gameBitfield4: number | null; bombRainEnabled: boolean | null; selfDestructScoreValue: number | null; itemSpawnBitfield1: number | null; itemSpawnBitfield2: number | null; itemSpawnBitfield3: number | null; itemSpawnBitfield4: number | null; itemSpawnBitfield5: number | null; damageRatio: number | null; }; export declare enum TimerType { NONE = 0, DECREASING = 2, INCREASING = 3 } export declare enum ItemSpawnType { OFF = 255, VERY_LOW = 0, LOW = 1, MEDIUM = 2, HIGH = 3, VERY_HIGH = 4 } export declare enum EnabledItemType { METAL_BOX = 1, CLOAKING_DEVICE = 2, POKEBALL = 4, UNKNOWN_ITEM_BIT_4 = 8, UNKNOWN_ITEM_BIT_5 = 16, UNKNOWN_ITEM_BIT_6 = 32, UNKNOWN_ITEM_BIT_7 = 64, UNKNOWN_ITEM_BIT_8 = 128, FAN = 256, FIRE_FLOWER = 512, SUPER_MUSHROOM = 1024, POISON_MUSHROOM = 2048, HAMMER = 4096, WARP_STAR = 8192, SCREW_ATTACK = 16384, BUNNY_HOOD = 32768, RAY_GUN = 65536, FREEZIE = 131072, FOOD = 262144, MOTION_SENSOR_BOMB = 524288, FLIPPER = 1048576, SUPER_SCOPE = 2097152, STAR_ROD = 4194304, LIPS_STICK = 8388608, HEART_CONTAINER = 16777216, MAXIM_TOMATO = 33554432, STARMAN = 67108864, HOME_RUN_BAT = 134217728, BEAM_SWORD = 268435456, PARASOL = 536870912, GREEN_SHELL = 1073741824, RED_SHELL = 2147483648, CAPSULE = 4294967296, BOX = 8589934592, BARREL = 17179869184, EGG = 34359738368, PARTY_BALL = 68719476736, BARREL_CANNON = 137438953472, BOMB_OMB = 274877906944, MR_SATURN = 549755813888 } export type PreFrameUpdateType = { frame: number | null; playerIndex: number | null; isFollower: boolean | null; seed: number | null; actionStateId: number | null; positionX: number | null; positionY: number | null; facingDirection: number | null; joystickX: number | null; joystickY: number | null; cStickX: number | null; cStickY: number | null; trigger: number | null; buttons: number | null; physicalButtons: number | null; physicalLTrigger: number | null; physicalRTrigger: number | null; rawJoystickX: number | null; percent: number | null; }; export type PostFrameUpdateType = { frame: number | null; playerIndex: number | null; isFollower: boolean | null; internalCharacterId: number | null; actionStateId: number | null; positionX: number | null; positionY: number | null; facingDirection: number | null; percent: number | null; shieldSize: number | null; lastAttackLanded: number | null; currentComboCount: number | null; lastHitBy: number | null; stocksRemaining: number | null; actionStateCounter: number | null; miscActionState: number | null; isAirborne: boolean | null; lastGroundId: number | null; jumpsRemaining: number | null; lCancelStatus: number | null; hurtboxCollisionState: number | null; selfInducedSpeeds: SelfInducedSpeedsType | null; hitlagRemaining: number | null; animationIndex: number | null; instanceHitBy: number | null; instanceId: number | null; }; export type SelfInducedSpeedsType = { airX: number | null; y: number | null; attackX: number | null; attackY: number | null; groundX: number | null; }; export type ItemUpdateType = { frame: number | null; typeId: number | null; state: number | null; facingDirection: number | null; velocityX: number | null; velocityY: number | null; positionX: number | null; positionY: number | null; damageTaken: number | null; expirationTimer: number | null; spawnId: number | null; missileType: number | null; turnipFace: number | null; chargeShotLaunched: number | null; chargePower: number | null; owner: number | null; instanceId: number | null; }; export type FrameBookendType = { frame: number | null; latestFinalizedFrame: number | null; }; export declare enum GameEndMethod { UNRESOLVED = 0, RESOLVED = 3, TIME = 1, GAME = 2, NO_CONTEST = 7 } export type GameEndType = { gameEndMethod: GameEndMethod | null; lrasInitiatorIndex: number | null; placements: PlacementType[]; }; export type PlacementType = { playerIndex: number; position: number | null; }; export type GeckoListType = { codes: GeckoCodeType[]; contents: Uint8Array; }; export type GeckoCodeType = { type: number | null; address: number | null; contents: Uint8Array; }; export declare enum FodPlatformSide { RIGHT = 0, LEFT = 1 } export type FodPlatformType = { frame: number | null; platform: FodPlatformSide | null; height: number | null; }; export declare enum WhispyBlowDirection { NONE = 0, LEFT = 1, RIGHT = 2 } export type WhispyType = { frame: number | null; direction: WhispyBlowDirection | null; }; export declare enum StadiumTransformation { FIRE = 3, GRASS = 4, NORMAL = 5, ROCK = 6, WATER = 9 } export declare enum StadiumTransformationEvent { INITIATE = 2, ON_MONITOR = 3, RECEDING = 4, RISING = 5, FINISH = 6 } export type StadiumTransformationType = { frame: number | null; event: StadiumTransformationEvent | null; transformation: StadiumTransformation | null; }; export type MetadataType = { startAt?: string | null; playedOn?: string | null; lastFrame?: number | null; players?: { [playerIndex: number]: { characters: { [internalCharacterId: number]: number; }; names?: { netplay?: string | null; code?: string | null; }; }; } | null; consoleNick?: string | null; }; export type EventPayloadTypes = GameStartType | FrameStartType | PreFrameUpdateType | PostFrameUpdateType | ItemUpdateType | FrameBookendType | GameEndType | GeckoListType | FodPlatformType | WhispyType | StadiumTransformationType; export type EventCallbackFunc = (command: Command, payload?: EventPayloadTypes | null, buffer?: Uint8Array | null) => boolean; export type StageEventTypes = FodPlatformType | WhispyType | StadiumTransformationType; export type FrameEntryType = { frame: number; start?: FrameStartType; players: { [playerIndex: number]: { pre: PreFrameUpdateType; post: PostFrameUpdateType; } | null; }; followers: { [playerIndex: number]: { pre: PreFrameUpdateType; post: PostFrameUpdateType; } | null; }; items?: ItemUpdateType[]; stageEvents?: StageEventTypes[]; }; export declare enum Frames { FIRST = -123, FIRST_PLAYABLE = -39 } export type FramesType = { [frameIndex: number]: FrameEntryType; }; export type RollbackFramesType = { [frameIndex: number]: FrameEntryType[]; }; export type RollbackFrames = { frames: RollbackFramesType; count: number; lengths: number[]; }; export {}; //# sourceMappingURL=types.d.ts.map