feat: read stream

This commit is contained in:
TrèsAbhi committed 2024-02-04 17:55:48 -06:00
1 parent 016fe1c3d3
commit 93e405c370
11 files changed
+36 -36

No files matched your search

+2 -2
View File
@@ -1,5 +1,5 @@
import { times } from 'lodash';
import { BufferStream } from './buffer';
import { ReadStream } from './buffer';
enum ValueType {
Null,
@@ -29,7 +29,7 @@ type Value =
| Value[]
| { [key: string]: Value };
export class BkonStream extends BufferStream {
export class BkonReadStream extends ReadStream {
bkon() {
this.magic();
const header = this.header();
+1 -1
View File
@@ -1,4 +1,4 @@
export class BufferStream {
export class ReadStream {
public index = 0;
constructor(public buffer: Buffer) {}
+2 -2
View File
@@ -1,6 +1,6 @@
import { times } from 'lodash';
import { Vector3Tuple, Vector4Tuple } from 'three';
import { WindowsStream } from './windows';
import { WindowsReadStream } from './windows';
enum DxgiFormat {
UNKNOWN = 0,
@@ -171,7 +171,7 @@ enum DdsCaps2 {
VOLUME = 0x200000,
}
export class DdsStream extends WindowsStream {
export class DdsReadStream extends WindowsReadStream {
async dds() {
this.magicNumber();
const header = this.header();
+2 -2
View File
@@ -1,5 +1,5 @@
import { clamp, isEqual, times } from 'lodash';
import { BufferStream } from './buffer';
import { ReadStream } from './buffer';
export enum PvrFlags {
NoFlag = 0,
@@ -91,7 +91,7 @@ enum ResolvedBitRatePixelFormat {
R5G6B5A0,
}
export class PvrStream extends BufferStream {
export class PvrReadStream extends ReadStream {
pvr() {
const header = this.header();
this.metadata();
+2 -2
View File
@@ -1,5 +1,5 @@
import { Vector3Tuple, Vector4Tuple } from 'three';
import { ScpgStream } from './scpg';
import { ScpgReadStream } from './scpg';
export interface SC2 {
'#dataNodes': DataNode[];
@@ -288,7 +288,7 @@ interface SceneComponents {
count: number;
}
export class Sc2Stream extends ScpgStream {
export class Sc2ReadStream extends ScpgReadStream {
header() {
return {
name: this.ascii(4),
+5 -5
View File
@@ -1,4 +1,4 @@
import { ScpgStream, VertexAttribute } from './scpg';
import { ScpgReadStream, VertexAttribute } from './scpg';
interface PolygonGroupRaw {
'##name': 'PolygonGroup';
@@ -50,7 +50,7 @@ export const vertexAttributeVectorSizes = {
[VertexAttribute.JOINTWEIGHT]: 4,
} as const;
export class ScgStream extends ScpgStream {
export class ScgReadStream extends ScpgReadStream {
header() {
return {
name: this.ascii(4),
@@ -71,7 +71,7 @@ export class ScgStream extends ScpgStream {
}
polygonGroupsRaw.forEach((polygonGroupRaw) => {
const indicesStream = new ScpgStream(polygonGroupRaw.indices);
const indicesStream = new ScpgReadStream(polygonGroupRaw.indices);
const indices: number[] = [];
for (let index = 0; index < polygonGroupRaw.indexCount; index++) {
@@ -82,9 +82,9 @@ export class ScgStream extends ScpgStream {
);
}
const verticesStream = new ScpgStream(polygonGroupRaw.vertices);
const verticesStream = new ScpgReadStream(polygonGroupRaw.vertices);
const vertices: BlitzkriegVertex[] = [];
const { format, stride } = ScgStream.parseVertexFormat(
const { format, stride } = ScgReadStream.parseVertexFormat(
polygonGroupRaw.vertexFormat,
);
const strideBasedSize = stride * polygonGroupRaw.vertexCount;
+2 -2
View File
@@ -1,5 +1,5 @@
import { times } from 'lodash';
import { BufferStream } from './buffer';
import { ReadStream } from './buffer';
enum KAType {
NONE = 0,
@@ -55,7 +55,7 @@ export enum VertexAttribute {
CUBETEXCOORD3 = 19,
}
export class ScpgStream extends BufferStream {
export class ScpgReadStream extends ReadStream {
vectorN(size: number) {
return times(size, () => this.float32());
}
+2 -2
View File
@@ -1,6 +1,6 @@
import { BufferStream } from './buffer';
import { ReadStream } from './buffer';
export class WindowsStream extends BufferStream {
export class WindowsReadStream extends ReadStream {
dword() {
return this.uint32();
}