mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2026-09-19 06:43:55 +00:00
Fix WWMix using a signed byte instead of an unsigned byte as length container for reading file names (-128..127 vs 0..255)
This commit is contained in:
@@ -269,14 +269,14 @@ class W3DHub
|
|||||||
|
|
||||||
def read_i32(f) = f.read(4).unpack1("l")
|
def read_i32(f) = f.read(4).unpack1("l")
|
||||||
def read_u32(f) = f.read(4).unpack1("L")
|
def read_u32(f) = f.read(4).unpack1("L")
|
||||||
def read_u8(f) = f.read(1).unpack1("c")
|
def read_u8(f) = f.read(1).unpack1("C")
|
||||||
def read_string(f)
|
def read_string(f)
|
||||||
f.read(read_u8(f)).strip
|
f.read(read_u8(f)).strip
|
||||||
end
|
end
|
||||||
|
|
||||||
def write_i32(f, value) = f.write([value].pack("l"))
|
def write_i32(f, value) = f.write([value].pack("l"))
|
||||||
def write_u32(f, value) = f.write([value].pack("L"))
|
def write_u32(f, value) = f.write([value].pack("L"))
|
||||||
def write_u8(f, value) = f.write([value].pack("c"))
|
def write_u8(f, value) = f.write([value].pack("C"))
|
||||||
def write_string(f, string)
|
def write_string(f, string)
|
||||||
length = string.size + 1 # include null byte
|
length = string.size + 1 # include null byte
|
||||||
write_u8(f, length)
|
write_u8(f, length)
|
||||||
|
|||||||
Reference in New Issue
Block a user