UNPKG

sc4

Version:

A command line utility for automating SimCity 4 modding tasks & modifying savegames

52 lines (51 loc) 1.42 kB
import FileType from './file-types.js'; import { kFileType } from './symbols.js'; import Unknown from './unknown.js'; import WriteBuffer from './write-buffer.js'; export default class cSC43DRender { static [kFileType] = FileType.cSC43DRender; crc = 0x00000000; mem = 0x00000000; version = 0x0002; size; resolution; camera; unknown = new Unknown() .dword(0x00000000) .dword(0x00000000) .dword(0x00000006) .dword(0x00000000) .dword(0x00000003); parse(rs) { this.unknown = new Unknown(); let u = this.unknown.reader(rs); rs.size(); this.crc = rs.dword(); this.mem = rs.dword(); this.version = rs.word(); this.size = [rs.uint32(), rs.uint32()]; u.dword(); u.dword(); this.resolution = [rs.uint32(), rs.uint32()]; this.camera = rs.pointer(); u.dword(); u.dword(); u.dword(); rs.assert(); } toBuffer() { let ws = new WriteBuffer(); let unknown = this.unknown.writer(ws); ws.dword(this.mem); ws.word(this.version); ws.tuple(this.size, ws.uint32); unknown.dword(); unknown.dword(); ws.tuple(this.resolution, ws.uint32); ws.pointer(this.camera); unknown.dword(); unknown.dword(); unknown.dword(); return ws.seal(); } }