research/chex/dump-mobjinfo
Simon Howard 8dfb24ef9b Add research files from earlier Chex Quest investigations.
Subversion-branch: /research
Subversion-revision: 1851
2010-02-06 20:37:25 +00:00

44 lines
658 B
Ruby
Executable file

#!/usr/bin/env ruby
require "scanf"
require "json"
filename = ARGV[0]
offset = ARGV[1].scanf("%x")[0]
NUM_MOBJS=137
def read_int(file)
c1 = file.getc
c2 = file.getc
c3 = file.getc
c4 = file.getc
c1 | (c2 << 8) | (c3 << 16) | (c4 << 24)
end
def read_mobj(file)
result = []
23.times do
i = read_int(file)
result.push(i)
end
result
end
states = []
File.open(filename) do |file|
file.seek(offset)
NUM_MOBJS.times do
states.push(read_mobj(file))
end
end
for state in states
puts state.to_json
end