I was going to wait on this, however it's extremely unlikely that any development will happen on main unrelated to ASH files at this point. Since the v0.3.1 hotfix, I haven't really found any issues while looking at libWiiPy's source, so the chances of needing another fix as v0.3.2 are low. To make things easier for me then, I'm going to go ahead and merge the development branch for v0.4.0 in now. As of right now, only decompression code is working, but it's working exactly as intended. Compression code hasn't been started yet, but is the next target.
My current roadmap for v0.4.0 is to include support for both compressing and decompressing ASH files, so no release will be made until that's done.
This PR also merges in some codebase improvements found on the ash-dec branch, such as privatizing a whole mess of functions and classes that really should be private as they're only used in certain contexts and are not useful to the end user. Examples of this are the TitleLimit class, which is used exclusively by the ticket module and has been moved into it instead of being in the shared types module, and has been made private, and also functions like align_value(), which are intended for use by other modules to simplify things but are not made to be useful to end users.
Classes and functions used exclusively by one module that are unlikely to ever be relevant to anything else have been moved from the common shared and types modules to their relevant module.
I was going to wait on this, however it's extremely unlikely that any development will happen on main unrelated to ASH files at this point. Since the v0.3.1 hotfix, I haven't really found any issues while looking at libWiiPy's source, so the chances of needing another fix as v0.3.2 are low. To make things easier for me then, I'm going to go ahead and merge the development branch for v0.4.0 in now. As of right now, only decompression code is working, but it's working exactly as intended. Compression code hasn't been started yet, but is the next target.
My current roadmap for v0.4.0 is to include support for both compressing and decompressing ASH files, so no release will be made until that's done.
This PR also merges in some codebase improvements found on the ash-dec branch, such as privatizing a whole mess of functions and classes that really should be private as they're only used in certain contexts and are not useful to the end user. Examples of this are the
TitleLimit
class, which is used exclusively by theticket
module and has been moved into it instead of being in the sharedtypes
module, and has been made private, and also functions likealign_value()
, which are intended for use by other modules to simplify things but are not made to be useful to end users.Classes and functions used exclusively by one module that are unlikely to ever be relevant to anything else have been moved from the common
shared
andtypes
modules to their relevant module.