mirror of
https://github.com/Escartem/AnimeWwise.git
synced 2026-06-04 23:40:25 +08:00
switch from bms to wavescan script
This commit is contained in:
@@ -3,16 +3,15 @@ import struct
|
||||
|
||||
class FileReader:
|
||||
"""
|
||||
Simplified byte file reader with buffer
|
||||
Not particularly optimised, contains repetitive functions
|
||||
In the scope of this project, not everything will be used either
|
||||
|
||||
Simplified byte file reader with buffer, it's not particularly optimised but good enough
|
||||
In the scope of this project, not everything will be used in here
|
||||
"""
|
||||
def __init__(self, file, endianness: str):
|
||||
|
||||
def __init__(self, file, endianness:str):
|
||||
self.stream = file
|
||||
self.endianness = endianness
|
||||
|
||||
def _read(self, mode:str, bufferLength:int, endianness=None) -> bytes:
|
||||
def _read(self, mode:str, bufferLength:int, endianness:str=None) -> bytes:
|
||||
# endianness override
|
||||
if endianness is None:
|
||||
endianness = self.endianness
|
||||
@@ -22,31 +21,31 @@ class FileReader:
|
||||
return struct.unpack(f"{endianness}{mode}", bytearray(self.stream.read(bufferLength)))[0]
|
||||
|
||||
# read methods
|
||||
def ReadInt16(self, endianness=None) -> int:
|
||||
def ReadInt16(self, endianness:str=None) -> int:
|
||||
return self._read("h", 2, endianness)
|
||||
|
||||
def ReadUInt16(self, endianness=None) -> int:
|
||||
def ReadUInt16(self, endianness:str=None) -> int:
|
||||
return self._read("H", 2, endianness)
|
||||
|
||||
def ReadInt32(self, endianness=None) -> int:
|
||||
def ReadInt32(self, endianness:str=None) -> int:
|
||||
return self._read("i", 4, endianness)
|
||||
|
||||
def ReadUInt32(self, endianness=None) -> int:
|
||||
def ReadUInt32(self, endianness:str=None) -> int:
|
||||
return self._read("I", 4, endianness)
|
||||
|
||||
def ReadLong(self, endianness=None) -> int:
|
||||
def ReadLong(self, endianness:str=None) -> int:
|
||||
return self._read("l", 4, endianness)
|
||||
|
||||
def ReadULong(self, endianness=None) -> int:
|
||||
def ReadULong(self, endianness:str=None) -> int:
|
||||
return self._read("L", 4, endianness)
|
||||
|
||||
def ReadLongLong(self, endianness=None) -> int:
|
||||
def ReadLongLong(self, endianness:str=None) -> int:
|
||||
return self._read("q", 8, endianness)
|
||||
|
||||
def ReadULongLong(self, endianness=None) -> int:
|
||||
def ReadULongLong(self, endianness:str=None) -> int:
|
||||
return self._read("Q", 8, endianness)
|
||||
|
||||
def ReadBytes(self, length:int, endianness=None) -> bytes:
|
||||
def ReadBytes(self, length:int, endianness:str=None) -> bytes:
|
||||
return self._read(f"{str(length)}s", int(length), endianness)
|
||||
|
||||
# buffer utils
|
||||
|
||||
Reference in New Issue
Block a user