sc4
Version:
A command line utility for automating SimCity 4 modding tasks & modifying savegames
41 lines (40 loc) • 1.1 kB
JavaScript
import FileType from './file-types.js';
import { kFileType } from './symbols.js';
import Unknown from './unknown.js';
import WriteBuffer from './write-buffer.js';
// # terrain-box.ts
export default class TerrainBox {
static [kFileType] = FileType.TerrainBox;
major = 0x0002;
xSize = 0x065;
zSize = 0x065;
minY = 0;
maxY = 0;
unknown = new Unknown()
.dword(0x00000000)
.float(308);
parse(rs) {
this.unknown = new Unknown();
let unknown = this.unknown.reader(rs);
this.major = rs.word();
this.xSize = rs.dword();
this.zSize = rs.dword();
unknown.dword();
this.minY = rs.float();
this.maxY = rs.float();
unknown.float();
rs.assert();
}
toBuffer() {
let ws = new WriteBuffer();
let unknown = this.unknown.writer(ws);
ws.word(this.major);
ws.dword(this.xSize);
ws.dword(this.zSize);
unknown.dword();
ws.float(this.minY);
ws.float(this.maxY);
unknown.float();
return ws.toUint8Array();
}
}