Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Sharpii-NetCore Wii: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#seo:
|title=Wii Homebrew PC Tools (PC Utilities) - GameBrew
|title_mode=append
|image=sharpiinetcorewii.jpg
|image_alt=Sharpii-NetCore
}}
{{Infobox Wii Homebrews
{{Infobox Wii Homebrews
|title=Sharpii-NetCore
|title=Sharpii-NetCore
|image=sharpiinetcorewii.jpg
|image=sharpiinetcorewii2.png
|description=A .Net Core port of Sharpii for use on other OS's
|description=A .Net Core port of Sharpii for use on other OS with added features.
|author=TheShadowEevee
|author=person66, leathl, TheShadowEevee
|lastupdated=2022/03/22
|lastupdated=2023/09/30
|type=PC Utilities
|type=PC Utilities
|version=1.1.8
|version=1.1.10
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/wiihomebrews/sharpiinetcorewii.7z
|download=https://dlhb.gamebrew.org/wiihomebrews/sharpiinetcorewii.7z
Line 18: Line 12:
|source=https://github.com/TheShadowEevee/Sharpii-NetCore
|source=https://github.com/TheShadowEevee/Sharpii-NetCore
}}
}}
'''Sharpii-NetCore''' is a command-line application for Windows, created by person66 and ported to .Net by TheShadowEevee. It utilizes leathl's libWiiSharp library to perform various tasks such as:
[[Sharpii Wii|Sharpii]] is a command-line application for Windows, created by person66 and this is a port of the program that could work on Linux and Mac.  


* Packing, unpacking, and editing .wad files
Sharpii utilizes leathl's libWiiSharp library to perform various tasks such as:
* Packing and unpacking U8 archives
* Packing, unpacking, and editing .wad files.
* Patching IOS .wad files with various patches
* Packing and unpacking U8 archives.
* Downloading files from NUS
* Patching IOS .wad files with various patches.
* Converting a .wav file to .bns, and vice versa
* Downloading files from NUS.
* Converting an image file to a .tpl, and vice versa
* Converting a .wav file to .bns, and vice versa.
* Sending a .dol or .wad to the Homebrew Channel over Wi-Fi
* Converting an image file to a .tpl, and vice versa.
* Sending a .dol or .wad to the Homebrew Channel over Wi-Fi.


Although .Net was renamed from .Net Core awhile back, the name Sharpii .Net was kept, because it sounds better and rebranding it would be pointless.
==User guide==
Changes from original:
* Sharpii now runs on .Net Core instead of .Net Framework.
* Now with support for many OS's.
* Slightly better error handling (Working on making it better).
* Custom exit codes for script use.
* Plus possibly more.
* Files are now sort of huge compared to originals, around 40mb. This is due to packed .dll's.


==OS Support==
OS Support:
* Windows 7 and up
* Windows 7 and up.
* Mac/OSX 10.12 and up (Sierra [2016] and up) including M1 Silicon Computers
* Mac/OSX 10.12 and up (Sierra [2016] and up) including M1 Silicon Computers.
* Most up-to-date x64, arm, and arm64 Linux distros
* Most up-to-date x64, arm, and arm64 Linux distros.


==Known Issues==
==Known issues==
When using Sharpii, you may run into errors. If you can't fix the error or can't find a fix, open an issue and I will get to it as soon as possible! If you think an issue is with the original Sharpii, I recommend opening it here anyway as I might be able to fix it, and I don't think the original Sharpii will be updated in any way at this point. Pull requests are also accepted and appreciated, as long as they actually fix something.
When using Sharpii, you may run into errors.  


Most issues are likely with libWiiSharp instead of Sharpii. If you can tell the difference, feel free to open an issue/PR over at https://github.com/TheShadowEevee/libWiiSharp.
==Changelog==
'''V1.1.10'''
* Removed a (possibly) faulty error check in SendWad.
* Updates to the help text for SendWad.
'''V1.1.9'''
* Now updated to .Net 7.
* Invariant Globalization has been enabled.
** TL;DR Globalization has been disabled to save on file size and drop a dependency on ICU.
* Releases are now semi-automated, a new release is automatically created in draft form when a new tag is pushed.


==Changelog==
'''V1.1.8'''
'''v1.1.6'''
'''v1.1.8'''
* This is a minor change. No update is needed unless one of these features is desired.
* This is a minor change. No update is needed unless one of these features is desired.
** Add -URL option to NUS.cs
** Add -URL option to NUS.cs.
** Updated embedded libWiiSharp to 2.0.2
** Updated embedded libWiiSharp to 2.0.2.
*** libWiiSharp has been reverted to .Net Framework 2.0
*** libWiiSharp has been reverted to .Net Framework 2.0.
*** No functional difference in Sharpii; TPL code now works again
*** No functional difference in Sharpii; TPL code now works again.
*** TPL code still does not run on Non-Windows platforms due to System.Drawing.Common's lack of support
*** TPL code still does not run on Non-Windows platforms due to System.Drawing.Common's lack of support.
* Developer Updates
* Developer Updates:
** WadInstaller source code has been removed. It is available online in many places if needed.
** WadInstaller source code has been removed. It is available online in many places if needed..
** Reduced compiler warnings to 0 at time of writing
** Reduced compiler warnings to 0 at time of writing.
*** SecondRun unused variable has been removed resulting in one less compiler warning.
*** SecondRun unused variable has been removed resulting in one less compiler warning..
*** A Value for SelfContained has been set in the project file resulting in one less compiler warning.
*** A Value for SelfContained has been set in the project file resulting in one less compiler warning..
** CodeQL was reworked to get compilation setup correctly
** CodeQL was reworked to get compilation setup correctly.


'''v1.1.7'''
'''V1.1.7'''
* All NUS HTTP error codes are reported instead of just 404
* All NUS HTTP error codes are reported instead of just 404.
** Previously non 404 codes would be reported as an "Unknown" Error
** Previously non 404 codes would be reported as an "Unknown" Error.
* Updated embedded libWiiSharp to 2.0.1
* Updated embedded libWiiSharp to 2.0.1.
** Main Change: NUS failback urls were added
** Main Change: NUS failback urls were added.
** TPL code now works cross-platform using SkiaSharp binaries to run
** TPL code now works cross-platform using SkiaSharp binaries to run.
*** Required binaries aren't bundled, so TPL doesn't function by default.
*** Required binaries aren't bundled, so TPL doesn't function by default.


'''v1.1.6.1'''
'''V1.1.6.1'''
*Updated compiled binaries to .Net v6
*Updated compiled binaries to .Net v6.
**New Mac M1 Binary (MacOSX-arm64); previous Mac binary is now known as MacOSX-x64
**New Mac M1 Binary (MacOSX-arm64); previous Mac binary is now known as MacOSX-x64.
**~66% size reduction uncompressed
**~66% size reduction uncompressed.


'''v1.1.6'''
'''V1.1.6'''
*Includes an updated version of the modified libWiiSharp.
*Includes an updated version of the modified libWiiSharp.
**This fixes an infinite loop bug that very quickly led to either a Stack Overflow or full memory consumption.
**This fixes an infinite loop bug that very quickly led to either a Stack Overflow or full memory consumption.
***This bug is present in the original libWiiSharp as well. The fixed version can be found at the related repo.
***This bug is present in the original libWiiSharp as well. The fixed version can be found at the related repo.
*Minor change to the credits header
*Minor change to the credits header.


'''v1.1.5'''
'''V1.1.5'''
* The commands -q, -quiet, -lots now have limited support, acting the same as they did for the original Sharpii
* The commands -q, -quiet, -lots now have limited support, acting the same as they did for the original Sharpii.
* Additional 404 error pickup for non-existent ID's (Oversight in 1.1.4)
* Additional 404 error pickup for non-existent ID's (Oversight in 1.1.4).
* Updated all error codes
* Updated all error codes.
* Removed a Debugging check for libWiiSharp.dll that has no use anymore
* Removed a Debugging check for libWiiSharp.dll that has no use anymore
* Source code now complies with some standards better (No difference to end-users)
* Source code now complies with some standards better (No difference to end-users).
* Source folders now slightly cleaner See 4c38cbb3 (No difference to end-users)
* Source folders now slightly cleaner See 4c38cbb3 (No difference to end-users).


'''v1.1.4'''
'''V1.1.4'''
* Adds more error codes for easier error reporting
* Adds more error codes for easier error reporting.
* Smaller unpacked executables by 10~15MB! (Don't ask me how, lol)
* Smaller unpacked executables by 10~15MB! (Don't ask me how, lol).


'''v1.1.3r2'''
'''V1.1.3r2'''
*Removes the word "Here" when using NUS, this was a mistake from using a debug version of libWiiSharp I was testing with in the Sharpii-NetCore release binary.
*Removes the word "Here" when using NUS, this was a mistake from using a debug version of libWiiSharp I was testing with in the Sharpii-NetCore release binary.


'''v1.1.3'''
'''V1.1.3'''
*Replaced libWiiSharp with a custom one (Added ability to use your own CETK file by placing it in the directory that the file would be placed in normally. This allows full integration with the RiiConnect24 patcher.)
*Replaced libWiiSharp with a custom one (Added ability to use your own CETK file by placing it in the directory that the file would be placed in normally. This allows full integration with the RiiConnect24 patcher.)
*Minor typo fixes
*Minor typo fixes.


'''v1.1.2'''
'''V1.1.2'''
*Fixes a bug in some systems where ICU is required but doesn't exist.
*Fixes a bug in some systems where ICU is required but doesn't exist.
*Adds a dialog box telling users they need to use a command line when the program is run in gui mode.
*Adds a dialog box telling users they need to use a command line when the program is run in gui mode.


'''v1.1.1'''
'''V1.1.1'''
*Fixes exit codes for non-Windows platforms (Global fix)
*Fixes exit codes for non-Windows platforms (Global fix).
*Fixes a bug where Sharpii couldn't find a wad if the case of the wad's name when saved was different then the ID provided. (NUSD's -WAD option)
*Fixes a bug where Sharpii couldn't find a wad if the case of the wad's name when saved was different then the ID provided. (NUSD's -WAD option).


'''v1.1.0'''
'''V1.1.0'''
*Due to a mistake, Sharpii shows as stil being v1.0.1.
*Due to a mistake, Sharpii shows as stil being v1.0.1.
*Added many error handling related features
*Added many error handling related features.
**Error Code's for easy identification of errors
**Error Code's for easy identification of errors.
**Error Code lookup (Run: Sharpii Errors [Error Code])
**Error Code lookup (Run: Sharpii Errors [Error Code]).
**Custom exit codes for easy headless script error identification (Uses Exit codes 16001-16029)
**Custom exit codes for easy headless script error identification (Uses Exit codes 16001-16029).
**Exit Code lookup (Run: Sharpii ExitCodes [Exit Code])
**Exit Code lookup (Run: Sharpii ExitCodes [Exit Code]).
*Removed install/uninstall help text (Feature still exists but only works on Windows for now.)
*Removed install/uninstall help text (Feature still exists but only works on Windows for now.)
*Removed some help text relating to a currently unimplemented feature
*Removed some help text relating to a currently unimplemented feature.


'''v1.0.1'''
'''V1.0.1'''
*Fixed a major file path separator issue that broke many features.
*Fixed a major file path separator issue that broke many features.


'''v1.0'''
'''V1.0'''
*First Release.
*First Release.


==Giving Credit==
==External links==
No credit is needed to use this program! If you do give credit, make sure to put the original creator(s) names first! (person66 for Sharpii, and leathl for libWiiSharp).
* GitHub - https://github.com/TheShadowEevee/Sharpii-NetCore
 
* GBAtemp - https://gbatemp.net/threads/sharpii-netcore-a-mod-and-port-of-sharpii.559849/
==External Links==
* Github - https://github.com/TheShadowEevee/Sharpii-NetCore
* Gbatemp - https://gbatemp.net/threads/sharpii-netcore-a-mod-and-port-of-sharpii.559849/

Latest revision as of 13:04, 6 July 2024

Sharpii-NetCore
Sharpiinetcorewii2.png
General
Authorperson66, leathl, TheShadowEevee
TypePC Utilities
Version1.1.10
LicenseGPL-3.0
Last Updated2023/09/30
Links
Download
Website
Source

Sharpii is a command-line application for Windows, created by person66 and this is a port of the program that could work on Linux and Mac.

Sharpii utilizes leathl's libWiiSharp library to perform various tasks such as:

  • Packing, unpacking, and editing .wad files.
  • Packing and unpacking U8 archives.
  • Patching IOS .wad files with various patches.
  • Downloading files from NUS.
  • Converting a .wav file to .bns, and vice versa.
  • Converting an image file to a .tpl, and vice versa.
  • Sending a .dol or .wad to the Homebrew Channel over Wi-Fi.

User guide

Changes from original:

  • Sharpii now runs on .Net Core instead of .Net Framework.
  • Now with support for many OS's.
  • Slightly better error handling (Working on making it better).
  • Custom exit codes for script use.
  • Plus possibly more.
  • Files are now sort of huge compared to originals, around 40mb. This is due to packed .dll's.

OS Support:

  • Windows 7 and up.
  • Mac/OSX 10.12 and up (Sierra [2016] and up) including M1 Silicon Computers.
  • Most up-to-date x64, arm, and arm64 Linux distros.

Known issues

When using Sharpii, you may run into errors.

Changelog

V1.1.10

  • Removed a (possibly) faulty error check in SendWad.
  • Updates to the help text for SendWad.

V1.1.9

  • Now updated to .Net 7.
  • Invariant Globalization has been enabled.
    • TL;DR Globalization has been disabled to save on file size and drop a dependency on ICU.
  • Releases are now semi-automated, a new release is automatically created in draft form when a new tag is pushed.

V1.1.8

  • This is a minor change. No update is needed unless one of these features is desired.
    • Add -URL option to NUS.cs.
    • Updated embedded libWiiSharp to 2.0.2.
      • libWiiSharp has been reverted to .Net Framework 2.0.
      • No functional difference in Sharpii; TPL code now works again.
      • TPL code still does not run on Non-Windows platforms due to System.Drawing.Common's lack of support.
  • Developer Updates:
    • WadInstaller source code has been removed. It is available online in many places if needed..
    • Reduced compiler warnings to 0 at time of writing.
      • SecondRun unused variable has been removed resulting in one less compiler warning..
      • A Value for SelfContained has been set in the project file resulting in one less compiler warning..
    • CodeQL was reworked to get compilation setup correctly.

V1.1.7

  • All NUS HTTP error codes are reported instead of just 404.
    • Previously non 404 codes would be reported as an "Unknown" Error.
  • Updated embedded libWiiSharp to 2.0.1.
    • Main Change: NUS failback urls were added.
    • TPL code now works cross-platform using SkiaSharp binaries to run.
      • Required binaries aren't bundled, so TPL doesn't function by default.

V1.1.6.1

  • Updated compiled binaries to .Net v6.
    • New Mac M1 Binary (MacOSX-arm64); previous Mac binary is now known as MacOSX-x64.
    • ~66% size reduction uncompressed.

V1.1.6

  • Includes an updated version of the modified libWiiSharp.
    • This fixes an infinite loop bug that very quickly led to either a Stack Overflow or full memory consumption.
      • This bug is present in the original libWiiSharp as well. The fixed version can be found at the related repo.
  • Minor change to the credits header.

V1.1.5

  • The commands -q, -quiet, -lots now have limited support, acting the same as they did for the original Sharpii.
  • Additional 404 error pickup for non-existent ID's (Oversight in 1.1.4).
  • Updated all error codes.
  • Removed a Debugging check for libWiiSharp.dll that has no use anymore
  • Source code now complies with some standards better (No difference to end-users).
  • Source folders now slightly cleaner See 4c38cbb3 (No difference to end-users).

V1.1.4

  • Adds more error codes for easier error reporting.
  • Smaller unpacked executables by 10~15MB! (Don't ask me how, lol).

V1.1.3r2

  • Removes the word "Here" when using NUS, this was a mistake from using a debug version of libWiiSharp I was testing with in the Sharpii-NetCore release binary.

V1.1.3

  • Replaced libWiiSharp with a custom one (Added ability to use your own CETK file by placing it in the directory that the file would be placed in normally. This allows full integration with the RiiConnect24 patcher.)
  • Minor typo fixes.

V1.1.2

  • Fixes a bug in some systems where ICU is required but doesn't exist.
  • Adds a dialog box telling users they need to use a command line when the program is run in gui mode.

V1.1.1

  • Fixes exit codes for non-Windows platforms (Global fix).
  • Fixes a bug where Sharpii couldn't find a wad if the case of the wad's name when saved was different then the ID provided. (NUSD's -WAD option).

V1.1.0

  • Due to a mistake, Sharpii shows as stil being v1.0.1.
  • Added many error handling related features.
    • Error Code's for easy identification of errors.
    • Error Code lookup (Run: Sharpii Errors [Error Code]).
    • Custom exit codes for easy headless script error identification (Uses Exit codes 16001-16029).
    • Exit Code lookup (Run: Sharpii ExitCodes [Exit Code]).
  • Removed install/uninstall help text (Feature still exists but only works on Windows for now.)
  • Removed some help text relating to a currently unimplemented feature.

V1.0.1

  • Fixed a major file path separator issue that broke many features.

V1.0

  • First Release.

External links

Advertising: