1
0
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:
Escartem
2023-10-13 11:01:25 +02:00
parent 3f5b041164
commit 4feeb907aa
7 changed files with 32 additions and 4794 deletions

View File

@@ -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