More actions
No edit summary |
No edit summary |
||
Line 18: | Line 18: | ||
|image_alt=FriishProduce | |image_alt=FriishProduce | ||
}} | }} | ||
FriishProduce is a | FriishProduce is a WAD injector for Wii/vWii, which allows for automated ROM replacement in Wii channels. This application is designed to streamline the process to as few third-party programs as possible. | ||
This injector bypasses other third-party assets (such as Common-Key.bin, most of HowardC's tools, and Autoinjectuwad/Devilken's VC) by handling many steps directly from the program's code. Some examples include: | |||
* WAD/U8 handling using libWiiSharp. | |||
* WAD/U8 handling using libWiiSharp | * VC ROM injection through hex writing and/or file replacement - bye-bye AutoInjectuwad. | ||
* VC ROM injection through hex writing and/or file replacement - bye-bye AutoInjectuwad | * Automatic banner/icon editing using VCBrlyt. | ||
* Automatic banner/icon editing using VCBrlyt | * Generates custom savedata image using original WAD's source TPL/WTE(s) - good riddance VCIconGen. | ||
* Generates custom savedata image using original WAD's source TPL/WTE(s) - good riddance VCIconGen | * Automatically edits savedata text where available using hex writing - Sayonara VCSaveInject. | ||
* Automatically edits savedata text where available using hex writing - Sayonara VCSaveInject | * Additional content/emulator options for each platform where supported. | ||
* Additional content/emulator options for each platform where supported | |||
== | ==User guide== | ||
===Supported platforms=== | |||
*Nintendo Entertainment System (NES) / Famicom (Virtual Console). | |||
*Super Nintendo Entertainment System (SNES) / Super Famicom (Virtual Console). | |||
*Nintendo 64 (Virtual Console). | |||
*Shockwave/Adobe Flash. | |||
=== | ===Options for each platform=== | ||
*NES/Famicom: | |||
**Set custom palette. | |||
*SNES/Super Famicom: N/A. | |||
*Nintendo 64: | |||
**Fix brightness (remove dark/epilepsy filter). | |||
**Extend RAM to 8 MB (Expansion Pak detection). | |||
**Allocate 32 MB for ROM (will not work for all bases). | |||
*Shockwave/Adobe Flash: | |||
**Enable "Unsaved data" message in HOME Menu. | |||
**Change SWF update rate (FPS?). | |||
**Enable save data; change total savedata size in KB. | |||
**Strap reminder setting. | |||
**Controller mapping to keyboard values. | |||
===How to use=== | |||
Please refer to the [https://github.com/CatmanFan/FriishProduce/wiki wiki] for the most up-to-date guide. | |||
'''Note:''' Make sure you have a (v)Wii NAND backup in case anything goes wrong. | |||
'''Note | |||
==Screenshots== | ==Screenshots== | ||
https://dlhb.gamebrew.org/wiihomebrews/friishproducewii.png | |||
==Changelog== | ==Changelog== | ||
'''v0.11-beta''' | '''v0.11-beta''' | ||
*Added | *Added: | ||
**New language: Korean (credits to DDinghoya) | **New language: Korean (credits to DDinghoya). | ||
*Other changes | *Other changes: | ||
**Removed "injection done" message prompt as it occassionally caused the application to stop responding even after a WAD has been generated. A simple "ding" sound is now played instead. | **Removed "injection done" message prompt as it occassionally caused the application to stop responding even after a WAD has been generated. A simple "ding" sound is now played instead. | ||
**Updated database.json | **Updated database.json. | ||
***Add support for certain Japanese/Korean versions of existing WADs | ***Add support for certain Japanese/Korean versions of existing WADs. | ||
*Fixes | *Fixes: | ||
**Issues affecting compatibility with Japanese/Korean WADs | **Issues affecting compatibility with Japanese/Korean WADs. | ||
***Fixed method of NES savedata title generation in non-Latin writing systems | ***Fixed method of NES savedata title generation in non-Latin writing systems. | ||
***Fixed Opera.arc manual file deletion causing Korean NES title(s) to fail | ***Fixed Opera.arc manual file deletion causing Korean NES title(s) to fail. | ||
**Language selection may not work correctly if list is not alphabetically ordered | **Language selection may not work correctly if list is not alphabetically ordered. | ||
**Changed bitmap generation of TPL savedata to using new bitmap instead of loading from the original imagefile directly. | **Changed bitmap generation of TPL savedata to using new bitmap instead of loading from the original imagefile directly.. | ||
**General system stability improvements to enhance the user's experience | **General system stability improvements to enhance the user's experience. | ||
'''v0.10-beta''' | '''v0.10-beta''' | ||
*Added | *Added: | ||
**New platform: Shockwave/Adobe Flash | **New platform: Shockwave/Adobe Flash. | ||
***Content options: | ***Content options: | ||
****Enable "Unsaved data" message in HOME Menu | ****Enable "Unsaved data" message in HOME Menu. | ||
****Change SWF update rate (FPS?) | ****Change SWF update rate (FPS?). | ||
****Enable save data; change total savedata size in KB | ****Enable save data; change total savedata size in KB. | ||
****Strap reminder setting | ****Strap reminder setting. | ||
****Controller mapping to keyboard values | ****Controller mapping to keyboard values. | ||
***Custom VC-style icon generator for Flash | ***Custom VC-style icon generator for Flash. | ||
**Light theme | **Light theme. | ||
**Ahora en Español | **Ahora en Español. | ||
*Other changes | *Other changes: | ||
**Updated interface | **Updated interface. | ||
**Switched database format to JSON. | **Switched database format to JSON. | ||
**Updated language strings handling to JSON format based off of Eldemarkki's SimpleTranslationSystem. | **Updated language strings handling to JSON format based off of Eldemarkki's SimpleTranslationSystem. | ||
Line 186: | Line 92: | ||
**Supplying a title screen image is now optional. This can be useful for certain ROM hacks such as randomizers, cheatcode patches, .. | **Supplying a title screen image is now optional. This can be useful for certain ROM hacks such as randomizers, cheatcode patches, .. | ||
***You can now right/middle click to remove your image if one was already selected. | ***You can now right/middle click to remove your image if one was already selected. | ||
**Optimized "retain aspect ratio" function for saveicon image | **Optimized "retain aspect ratio" function for saveicon image. | ||
*Fixes | *Fixes: | ||
**Incorrect Ninja Gaiden (EUR) title ID in database | **Incorrect Ninja Gaiden (EUR) title ID in database. | ||
**NES palettes not working correctly | **NES palettes not working correctly. | ||
**Saveicon image may fail on non-Flash platforms due to indexed format | **Saveicon image may fail on non-Flash platforms due to indexed format. | ||
**General system stability improvements to enhance the user's experience | **General system stability improvements to enhance the user's experience. | ||
'''v0.0.2.0-alpha''' | '''v0.0.2.0-alpha''' | ||
*Added | *Added: | ||
**Banner/icon/saveicon customization | **Banner/icon/saveicon customization. | ||
**New bases supported | **New bases supported. | ||
***NES: Ninja Gaiden (EUR) | ***NES: Ninja Gaiden (EUR). | ||
***N64: Custom Robo V2 (JPN), Mario Kart 64 (USA) | ***N64: Custom Robo V2 (JPN), Mario Kart 64 (USA). | ||
**N64 content options | **N64 content options. | ||
***Fix brightness (removes dark/epilepsy filter in some bases) | ***Fix brightness (removes dark/epilepsy filter in some bases). | ||
***8MB extended RAM | ***8MB extended RAM. | ||
***Allocate 32MB to ROM (not supported in some bases) | ***Allocate 32MB to ROM (not supported in some bases). | ||
**More NES palettes | **More NES palettes. | ||
*Other changes | *Other changes: | ||
**French translation updated | **French translation updated. | ||
**"System Default" added to language settings | **"System Default" added to language settings. | ||
**Application icon | **Application icon. | ||
**Some bugfixes & under-the-hood failsafes added | **Some bugfixes & under-the-hood failsafes added. | ||
***Fixed exception when deleting WAD from bases list | ***Fixed exception when deleting WAD from bases list. | ||
**Removed HBC transmitter | **Removed HBC transmitter. | ||
'''v0.0.1.0-alpha''' | '''v0.0.1.0-alpha''' | ||
*Pre-release alpha build, only includes NES, SNES and N64 injection (rom/romc). No banner customization, and there are still a lot of additional missing features and stuff that needs to be fixed. | *Pre-release alpha build, only includes NES, SNES and N64 injection (rom/romc). No banner customization, and there are still a lot of additional missing features and stuff that needs to be fixed. | ||
Line 217: | Line 122: | ||
This program uses the following third-party components and apps: | This program uses the following third-party components and apps: | ||
* | * libWiiSharp (orig. author: Leathl), [https://github.com/WiiDatabase/libWiiSharp/ forked] by [https://github.com/WiiDatabase WiiDatabase]. | ||
* | * [https://github.com/Alcaro/Flips Floating IPS] (Flips) by [https://github.com/Alcaro Alcaro]. | ||
* | * [https://github.com/libertyernie/ccf-tools ccf-tools] (orig. author: paulguy) and [https://github.com/libertyernie/brawllib-wit BrawlLib] (orig. author: soopercool101), both forked by [https://github.com/libertyernie libertyernie]. | ||
* | * ROMC compressor by Jurai, with additional LZSS code by Haruhiko Okumura. | ||
* | * gbalzss by Andre Perrot, with additional LZSS code by Haruhiko Okumura. | ||
* | * WWCXTool by alpha-0. | ||
* | * HowardC's Tools (particularly, VCbrlyt). | ||
I would also like to thank the following people: | I would also like to thank the following people: | ||
* | * [https://github.com/SuperrSonic SuperrSonic] for reverse-engineering much of Wii software and official emulator code, and in particular, his [[RA-Hexaeco Wii]]. | ||
* | * [https://github.com/saulfabregwiivc SaulFabre] for archiving several tools and aiding in research & documentation. | ||
* | * [https://github.com/Larsenv Larsenv] for his astounding work in the Wii homebrew community, and for originally disclosing a method for Flash WAD injection ([https://gbatemp.net/threads/how-to-make-flash-game-wad-injects.561406/ GBAtemp thread]). | ||
* And of course, the team at the 0RANGECHiCKEN release group, including [https://gbatemp.net/members/lolsjoel.18721/ lolsjoel], and the late [https://gbatemp.net/members/g0dlike.190457/ G0dLiKe], without whose work this project would not have been possible. | * And of course, the team at the 0RANGECHiCKEN release group, including [https://gbatemp.net/members/lolsjoel.18721/ lolsjoel], and the late [https://gbatemp.net/members/g0dlike.190457/ G0dLiKe], without whose work this project would not have been possible. | ||
This application is distributed and licensed under the | This application is distributed and licensed under the GNU General Public License v3.0 ([https://github.com/CatmanFan/FriishProduce/blob/main/LICENSE view in full]). | ||
==External | ==External links== | ||
* | * GitHub - https://github.com/CatmanFan/FriishProduce | ||
* GBAtemp - https://gbatemp.net/threads/release-friishproduce-multiplatform-wad-injector.632028/ |
Revision as of 11:14, 10 Mayıs 2023
FriishProduce | |
---|---|
General | |
Author | CatmanFan |
Type | PC Utilities |
Version | 0.11-beta |
License | GPL-3.0 |
Last Updated | 2023/05/02 |
Links | |
Download | |
Website | |
Source | |
FriishProduce is a WAD injector for Wii/vWii, which allows for automated ROM replacement in Wii channels. This application is designed to streamline the process to as few third-party programs as possible.
This injector bypasses other third-party assets (such as Common-Key.bin, most of HowardC's tools, and Autoinjectuwad/Devilken's VC) by handling many steps directly from the program's code. Some examples include:
- WAD/U8 handling using libWiiSharp.
- VC ROM injection through hex writing and/or file replacement - bye-bye AutoInjectuwad.
- Automatic banner/icon editing using VCBrlyt.
- Generates custom savedata image using original WAD's source TPL/WTE(s) - good riddance VCIconGen.
- Automatically edits savedata text where available using hex writing - Sayonara VCSaveInject.
- Additional content/emulator options for each platform where supported.
User guide
Supported platforms
- Nintendo Entertainment System (NES) / Famicom (Virtual Console).
- Super Nintendo Entertainment System (SNES) / Super Famicom (Virtual Console).
- Nintendo 64 (Virtual Console).
- Shockwave/Adobe Flash.
Options for each platform
- NES/Famicom:
- Set custom palette.
- SNES/Super Famicom: N/A.
- Nintendo 64:
- Fix brightness (remove dark/epilepsy filter).
- Extend RAM to 8 MB (Expansion Pak detection).
- Allocate 32 MB for ROM (will not work for all bases).
- Shockwave/Adobe Flash:
- Enable "Unsaved data" message in HOME Menu.
- Change SWF update rate (FPS?).
- Enable save data; change total savedata size in KB.
- Strap reminder setting.
- Controller mapping to keyboard values.
How to use
Please refer to the wiki for the most up-to-date guide.
Note: Make sure you have a (v)Wii NAND backup in case anything goes wrong.
Screenshots
Changelog
v0.11-beta
- Added:
- New language: Korean (credits to DDinghoya).
- Other changes:
- Removed "injection done" message prompt as it occassionally caused the application to stop responding even after a WAD has been generated. A simple "ding" sound is now played instead.
- Updated database.json.
- Add support for certain Japanese/Korean versions of existing WADs.
- Fixes:
- Issues affecting compatibility with Japanese/Korean WADs.
- Fixed method of NES savedata title generation in non-Latin writing systems.
- Fixed Opera.arc manual file deletion causing Korean NES title(s) to fail.
- Language selection may not work correctly if list is not alphabetically ordered.
- Changed bitmap generation of TPL savedata to using new bitmap instead of loading from the original imagefile directly..
- General system stability improvements to enhance the user's experience.
- Issues affecting compatibility with Japanese/Korean WADs.
v0.10-beta
- Added:
- New platform: Shockwave/Adobe Flash.
- Content options:
- Enable "Unsaved data" message in HOME Menu.
- Change SWF update rate (FPS?).
- Enable save data; change total savedata size in KB.
- Strap reminder setting.
- Controller mapping to keyboard values.
- Custom VC-style icon generator for Flash.
- Content options:
- Light theme.
- Ahora en Español.
- New platform: Shockwave/Adobe Flash.
- Other changes:
- Updated interface.
- Switched database format to JSON.
- Updated language strings handling to JSON format based off of Eldemarkki's SimpleTranslationSystem.
- This means that anyone can now provide their own translations of the application without having to deal with .resx files.
- Supplying a title screen image is now optional. This can be useful for certain ROM hacks such as randomizers, cheatcode patches, ..
- You can now right/middle click to remove your image if one was already selected.
- Optimized "retain aspect ratio" function for saveicon image.
- Fixes:
- Incorrect Ninja Gaiden (EUR) title ID in database.
- NES palettes not working correctly.
- Saveicon image may fail on non-Flash platforms due to indexed format.
- General system stability improvements to enhance the user's experience.
v0.0.2.0-alpha
- Added:
- Banner/icon/saveicon customization.
- New bases supported.
- NES: Ninja Gaiden (EUR).
- N64: Custom Robo V2 (JPN), Mario Kart 64 (USA).
- N64 content options.
- Fix brightness (removes dark/epilepsy filter in some bases).
- 8MB extended RAM.
- Allocate 32MB to ROM (not supported in some bases).
- More NES palettes.
- Other changes:
- French translation updated.
- "System Default" added to language settings.
- Application icon.
- Some bugfixes & under-the-hood failsafes added.
- Fixed exception when deleting WAD from bases list.
- Removed HBC transmitter.
v0.0.1.0-alpha
- Pre-release alpha build, only includes NES, SNES and N64 injection (rom/romc). No banner customization, and there are still a lot of additional missing features and stuff that needs to be fixed.
Credits
This program uses the following third-party components and apps:
- libWiiSharp (orig. author: Leathl), forked by WiiDatabase.
- Floating IPS (Flips) by Alcaro.
- ccf-tools (orig. author: paulguy) and BrawlLib (orig. author: soopercool101), both forked by libertyernie.
- ROMC compressor by Jurai, with additional LZSS code by Haruhiko Okumura.
- gbalzss by Andre Perrot, with additional LZSS code by Haruhiko Okumura.
- WWCXTool by alpha-0.
- HowardC's Tools (particularly, VCbrlyt).
I would also like to thank the following people:
- SuperrSonic for reverse-engineering much of Wii software and official emulator code, and in particular, his RA-Hexaeco Wii.
- SaulFabre for archiving several tools and aiding in research & documentation.
- Larsenv for his astounding work in the Wii homebrew community, and for originally disclosing a method for Flash WAD injection (GBAtemp thread).
- And of course, the team at the 0RANGECHiCKEN release group, including lolsjoel, and the late G0dLiKe, without whose work this project would not have been possible.
This application is distributed and licensed under the GNU General Public License v3.0 (view in full).