mirror of
https://github.com/NinjaCheetah/libWiiPy.git
synced 2025-04-26 13:21:01 -04:00
Minor changes to wad.py that allow for testing
This commit is contained in:
parent
9614defc2d
commit
66e83ff3f8
3
.gitignore
vendored
3
.gitignore
vendored
@ -162,4 +162,5 @@ cython_debug/
|
|||||||
.idea/
|
.idea/
|
||||||
|
|
||||||
# Allows me to keep TMD files in my repository folder for testing without accidentally publishing them
|
# Allows me to keep TMD files in my repository folder for testing without accidentally publishing them
|
||||||
*.tmd
|
*.tmd
|
||||||
|
*.wad
|
@ -1,4 +1,5 @@
|
|||||||
# "tmd.py" from libWiiPy by NinjaCheetah
|
# "tmd.py" from libWiiPy by NinjaCheetah
|
||||||
|
#
|
||||||
# See https://wiibrew.org/wiki/Title_metadata for details about the TMD format
|
# See https://wiibrew.org/wiki/Title_metadata for details about the TMD format
|
||||||
|
|
||||||
import binascii
|
import binascii
|
||||||
|
@ -20,10 +20,10 @@ class ContentRecord:
|
|||||||
|
|
||||||
class wadHeader:
|
class wadHeader:
|
||||||
"""Break down 32 byte WAD header."""
|
"""Break down 32 byte WAD header."""
|
||||||
def __init__(self, wadhdr):
|
def __init__(self, wad):
|
||||||
self.wadhdr = wadhdr
|
self.wad = wad
|
||||||
self.wad_hdr_size: int
|
self.wad_hdr_size: int
|
||||||
self.wad_type: int
|
self.wad_type: str
|
||||||
self.wad_version: int
|
self.wad_version: int
|
||||||
# Sizes
|
# Sizes
|
||||||
self.wad_cert_size: int
|
self.wad_cert_size: int
|
||||||
@ -50,7 +50,7 @@ class wadHeader:
|
|||||||
self.wad_hdr_size = wadfile.read(4)
|
self.wad_hdr_size = wadfile.read(4)
|
||||||
# WAD type
|
# WAD type
|
||||||
wadfile.seek(0x04)
|
wadfile.seek(0x04)
|
||||||
self.wad_type = wadfile.read(2)
|
self.wad_type = str(wadfile.read(2).decode())
|
||||||
# WAD version
|
# WAD version
|
||||||
wadfile.seek(0x06)
|
wadfile.seek(0x06)
|
||||||
self.wad_version = wadfile.read(2)
|
self.wad_version = wadfile.read(2)
|
||||||
@ -75,28 +75,31 @@ class wadHeader:
|
|||||||
#====================================================================================
|
#====================================================================================
|
||||||
# Calculate file offsets from sizes
|
# Calculate file offsets from sizes
|
||||||
#====================================================================================
|
#====================================================================================
|
||||||
self.wad_cert_offset + self.wad_hdr_size
|
self.wad_cert_offset = self.wad_hdr_size
|
||||||
# I've never seen crl used (don't even know what it's for) but still calculating in case...
|
# I've never seen crl used (don't even know what it's for) but still calculating in case...
|
||||||
self.wad_crl_offset + self.wad_cert_offset + self.wad_cert_size
|
self.wad_crl_offset = self.wad_cert_offset + self.wad_cert_size
|
||||||
self.wad_tik_offset + self.wad_crl_offset + self.wad_crl_size
|
self.wad_tik_offset = self.wad_crl_offset + self.wad_crl_size
|
||||||
self.wad_tmd_offset + self.wad_tik_offset + self.wad_tik_size
|
self.wad_tmd_offset = self.wad_tik_offset + self.wad_tik_size
|
||||||
self.wad_app_offset + self.wad_tmd_offset + self.wad_tmd_size
|
self.wad_app_offset = self.wad_tmd_offset + self.wad_tmd_size
|
||||||
# Same with meta. If private Nintendo tools calculate these then maaaaaybe we should too.
|
# Same with meta. If private Nintendo tools calculate these then maaaaaybe we should too.
|
||||||
self.wad_meta_offset + self.wad_app_offset + self.wad_app_size
|
self.wad_meta_offset = self.wad_app_offset + self.wad_app_size
|
||||||
|
|
||||||
def get_cert_region(self):
|
def get_cert_region(self):
|
||||||
"""Returns the offset and size for the cert"""
|
"""Returns the offset and size for the cert."""
|
||||||
return self.wad_cert_offset, self.wad_cert_size
|
return self.wad_cert_offset, self.wad_cert_size
|
||||||
|
|
||||||
def get_ticket_region(self):
|
def get_ticket_region(self):
|
||||||
"""Returns the offset and size for the ticket"""
|
"""Returns the offset and size for the ticket."""
|
||||||
return self.wad_tik_offset, self.wad_tik_size
|
return self.wad_tik_offset, self.wad_tik_size
|
||||||
|
|
||||||
def get_tmd_region(self):
|
def get_tmd_region(self):
|
||||||
"""Returns the offset and size for the TMD"""
|
"""Returns the offset and size for the TMD."""
|
||||||
return self.wad_tmd_offset, self.wad_tmd_size
|
return self.wad_tmd_offset, self.wad_tmd_size
|
||||||
|
|
||||||
def get_app_region(self):
|
def get_app_region(self):
|
||||||
"""Returns the offset and size for the app"""
|
"""Returns the offset and size for the app."""
|
||||||
return self.wad_app_offset, self.wad_tmd_size
|
return self.wad_app_offset, self.wad_tmd_size
|
||||||
|
|
||||||
|
def get_wad_type(self):
|
||||||
|
"""Returns the type of the WAD. This is 'Is' unless the WAD contains boot2 where it is 'ib'."""
|
||||||
|
return self.wad_type
|
||||||
|
Loading…
x
Reference in New Issue
Block a user