nicholasmoser / gntool Goto Github PK
View Code? Open in Web Editor NEWA tool that allows you to modify files in a Naruto GNT ISO file.
License: GNU General Public License v3.0
A tool that allows you to modify files in a Naruto GNT ISO file.
License: GNU General Public License v3.0
In the Options Menu, the number of rounds (Kunai) to win a match is default at 2. The tournament standard is at 3.
Would like to move the default from 2 to 3.
Selecting 3MC training goes to 1P training
Selecting 1P training turns on the Debug code (and off when you reset)
Additionaly, add a toggle to kill SFX during pause.
This will require new logic for handling Wii ISOs and likely integration with Wiimms ISO Tools.
Meter gain is doubled when at 15% health or under. This affects meter gain from:
The proposed changes would remove the third and fourth situation, so that you only get double meter when you land an attack (whether it is blocked or not).
Some Eighting games, particularly those on the PS2 and PSP, use little endian for the FPK format instead of big endian. Add support for unpacking these in the tools.
Currently one FPK file is packed at a time. The repacking of an FPK does not impact other FPKs being repacked, therefore it could likely be done using multiple threads.
Here's a few ways of how to do so:
https://stackoverflow.com/questions/43655768/parallellize-a-for-loop-in-java-using-multi-threading/43659940#43659940
Able to reload after the end of a match if desired. Same characters and stage or just same characters
At the beginning of the victim state for all throws the following line of code appears:
Adjusting grab break window:
240C0400 00030000 is inside the .seq on the victim throw point. Changing the 03 will change the window
This turns on a DF flag "TEscape" for three frames which allows you to break a grab by inputting a face button.
What I am attempting to do is make it so that you are unable to break this grab if the victim is grabbed during a time when the AF flags DEF or SDEF are active (this may instead be DEFOK or SDEFOK). This means that during a 4A counter, a 2X super counter, or a 4B move when the guard frames are active (and the victim is currently grabbable) you would not be able to break the grab.
This was done with back grabs in Rev3 by making the grabs to the back direct instead to right after the equivalent of the above code. This can be modified for back and forward grabs already, but cannot affect the victim state as far as we know.
Facing and Back throws:
The following shows two lines of code that speak to F0 (front throw) and F1 (back throw). You can see the only difference between the two is the second half of the first word starts with 66 instead of 56 on the back throw. These locations are for Naruto
2F3C4: 00205680 00F00004 00140000 42E00000 0002F504
2F3D8: 00206680 00F10004 00140000 42E00000 0002F504
add a generic 'can opener mode' that only opens games one way, and creates an uncompressed version of said game that can run on Dolphin
Unlock all currently has two issues.
Add an option for making smaller output ISOs. Currently GameCube Rebuilder builds ISOs at the standard GameCube disc size, 1.35 GB. The Dolphin emulator can run ISOs of smaller sizes. It would be helpful to have an option to build smaller ISOs since GNT4 does not take up an entire 1.35 GB of space.
This will be easier to accomplish once GameCube Rebuilder is replaced or modified as per #7
Title, also all other tools suck
We have a flag that allows the character to be immune to highs (sit), lows (float), mids & highs (fuse), but not one for low & mid.
Would like to see flags for:
Immunity to low & mid
Immunity to projectiles
Crisis Mode happens when your character is at or below 15% health. This makes them gain 1.5x (or 2x?) meter when they hit someone or are hit. This should only apply for hits they do, but not whiffs or being hit.
A second version of the auto updater to be used by the beta testing/balancing group
Visualization and/or Audio que for counter hits (this is in CON2)
Able to select four of the same character in 4P mode / 4 costumes
Remove ZTK's extra damage
Karasu taking supers for Kank drains Kank's super meter
Game registers the analog L and R, but not the digital. Possible to make it both?
Ability to access Training Mode Options during Debug
Maybe make accessing the Debug menu changed to something like C stick down or something similar and keep the training menu available. This would allow significantly more use of this mode for learning and developing counter tech
Game registers the analog L and R, but not the digital. Possible to make it both? The soft press is registered, but the click is not
Remove Akamaru from the select screen
Make Karasu on the select screen not the one Kankuro uses (so we can edit him seperately)
Add in another character that uses Karasu (off the select screen otherwise) or Oboro between A. Hinata and Naruto that works like Charade (from Soul Caliber) and picks a random fighter
Add visual or audio cue for counter hits. Clash of Ninja 2 already has this. This feature will require #14
I already have a proof of concept that plays a noise everytime Kakashi loses health from Sharingan life drain.
Kakashi loses health from Sharingan life drain
c203ea18 00000005
38600300 38800253
38a07f00 38c00000
38e00000 3c00800c
6000e4a8 7c0903a6
4e800421 00000000
@8003EA18
loc_0x0:
li r3, 0x300
li r4, 0x253
li r5, 0x7F00
li r6, 0x0
li r7, 0x0
lis r0, 0x800C
ori r0, r0, 0xE4A8
mtctr r0
bctrl
A code to make block gauge never deplete
Separated by character
It is possible to mute audio during the game:
Play Audio While Paused will play the audio at full volume while paused even if audio is muted. Ideally, this code will check if audio is muted before it plays while paused.
GNTool currently uses GameCube Rebuilder to extract files from an ISO and package files into an ISO. Many files are named oddly, requiring fixes in GNTool to adjust them (see https://github.com/NicholasMoser/GNTool/blob/2.4/src/main/java/com/github/nicholasmoser/gnt4/GNT4ModReady.java).
GameCube Rebuilder is now open source. It would be nice to either patch GameCube Rebuilder or rewrite it in GNTool to allow more flexibility with the ISO extraction and creation process.
Add functionality to select the same character multiple times in 3MC mode. Related to Able to select four of the same character in 4P mode / 4 costumes
Currently we have the character portraits with a red background for S. Kakashi, ZTK, and 2G Lee as they are "taking damage"
I would like to see that same thing applied to:
S. Sasuke
1G Lee
1G Gai
Ukon
This could be done by assigning them the "taking passive damage" function, but setting it to never actually take damage. This would be another good visual cue for transformed states
Add a new window that will display instructions for a given character's action in their SEQ file.
Certain FPK files in Rev 3 like files\fpack\cmn\0000.fpk
have file names that are truncated. This is similar to GNT4, which has been fixed by utilizing https://github.com/NicholasMoser/GNTool/blob/master/src/main/java/com/github/nicholasmoser/gnt4/GNT4FileNames.java
Consider using something similar for Rev 3, or figuring out if there's some trick to the FPK file itself to do this.
Ideally configurable, but having the jutsu be set to a specific level, or better yet put at a specific level at normal and crisis mode would be ideal
For consistency sake it would be nice to see the following if possible:
L/R + A for Attacking Sub (Currently R Press while in hitstun)
L/R + B for non attacking sub (currently L Press while in hitstun)
Z + Start for Pause (Currently Start)
This would help consistency and remove accidental pauses and substitutions
Hello Im following the youtube tutorial on patching SGNT4 however i keep getting the error "Failed to patch ISO"
For whatever reason it wont let me share the error log here but this is the contents:
Jan 09, 2021 2:39:12 PM com.github.nicholasmoser.gamecube.GameCubeISO exportFiles
INFO: Finished exporting files.
Jan 09, 2021 2:39:13 PM com.github.nicholasmoser.tools.ISOPatcher$1 call
SEVERE: Error Extracting ISO
java.io.IOException: No zip entries were found for file: C:\Users\Rober\Desktop\Patch.zip.zip
at [email protected]/com.github.nicholasmoser.zip.PatchZip.patch(Unknown Source)
at [email protected]/com.github.nicholasmoser.tools.ISOPatcher$1.call(Unknown Source)
at [email protected]/com.github.nicholasmoser.tools.ISOPatcher$1.call(Unknown Source)
at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Jan 09, 2021 2:44:58 PM com.github.nicholasmoser.gamecube.GameCubeISO exportFiles
INFO: Exporting files...
Jan 09, 2021 2:45:01 PM com.github.nicholasmoser.gamecube.GameCubeISO exportFiles
INFO: Finished exporting files.
Jan 09, 2021 2:45:01 PM com.github.nicholasmoser.tools.ISOPatcher$1 call
SEVERE: Error Extracting ISO
java.io.IOException: No zip entries were found for file: C:\Users\Rober\Desktop\Patch.zip
at [email protected]/com.github.nicholasmoser.zip.PatchZip.patch(Unknown Source)
at [email protected]/com.github.nicholasmoser.tools.ISOPatcher$1.call(Unknown Source)
at [email protected]/com.github.nicholasmoser.tools.ISOPatcher$1.call(Unknown Source)
at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Jan 09, 2021 2:46:59 PM com.github.nicholasmoser.gamecube.GameCubeISO exportFiles
INFO: Exporting files...
Jan 09, 2021 2:47:02 PM com.github.nicholasmoser.gamecube.GameCubeISO exportFiles
INFO: Finished exporting files.
Jan 09, 2021 2:47:02 PM com.github.nicholasmoser.tools.ISOPatcher$1 call
SEVERE: Error Extracting ISO
java.io.IOException: No zip entries were found for file: D:\Patch.zip
at [email protected]/com.github.nicholasmoser.zip.PatchZip.patch(Unknown Source)
at [email protected]/com.github.nicholasmoser.tools.ISOPatcher$1.call(Unknown Source)
at [email protected]/com.github.nicholasmoser.tools.ISOPatcher$1.call(Unknown Source)
at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Ive tried this a few different times with different file locations etc... and i cant figure it out
Currently, GNTool allows you to extract sounds from the sound files through the use of a GNT workspace. It has been requested to also make this functionality a generic tool in the tools list, so that it can be used for other games.
Make 1v1 the default selected and/or remove 3v3 as an option in training.
Karasu takes supers for Kank, but doesn't lose meter like with normal attacks
Currently, there is no way to inject "Insert ASM C2 Gecko Codes" directly into the DOL unless they are the same or smaller number of bytes than the instructions they are replacing. There exists software for Super Smash Bros Melee that is able to do this called Melee Mod Manager. It creates branches from the original instructions to unused portions of code in the game (or rarely used portions of code). It would be nice if GNTool could also do this.
The only unused code portions I'm currently aware of is the code for recording in practice mode. It was originally used in Bloody Roar but was largely commented out in the GNT games. Much of the code still exists though.
Add the ability for the game to somehow load a different SEQ file than the one expected.
Extra damage codes:
ZTK and S. Kakashi both take 1.25x
Ukon and Lee reverted to vanilla
Replace with the attached file
Removed
Increases options for 4P mode and teams. Related to Select same character in 3MC
##############################################################
Ignore the below comments, and see the last message of this issue for a solution.
##############################################################
I already have a Gecko Code that sort of works:
Duplicate Characters in 4-Player Mode [Nick]
48000000 802a4324
de000000 80008180
140142b0 00000000
140142f8 00000000
140142b4 00000000
14014318 00000000
140142b8 00000000
14014338 00000000
140142bc 00000000
14014358 00000000
e0000000 80008000
Ideally I would figure out how to accomplish it in a less hacky way and inject it directly into the DOL. This will likely require #14
Add a toggle to kill SFX during pause per #10
It is desirable in some cases to enable handicaps by default, such as for 3v3 battles. 3v3 battles often use Chakra Supression and Attack Power Boost: Small for longer combos/fewer combo breakers. The handicap is reset everytime you re-enter the CSS, and it doesn't appear that the previous handicaps are saved anywhere.
Therefore, the best way to handle this is to simply write a code so that handicaps are enabled by default. The player 1 handicaps are stored at offset 0xF7E0 in char_sel.seq
. The following bytes enable Chakra Supression and Attack Power Boost: Small by default:
00 00 00 00
00 00 00 0C
FF FF FF FF
FF FF FF FF
FF FF FF FF
00 00 00 02
00 00 00 03
00 00 00 00
However, it would also be nice if a gecko code could be written to do this instead of modifying the file. The only problem is that this appears to be part of the seq, so gecko code modifications will be difficult.
In the above code, the 00 00 00 03
is the number of points currently used. The 00 00 00 02
is the number of handicaps selected. The first three words are the selected handicaps. In this case, the first handicap selected is 00 00 00 00
, or Attack Power Boost: Small. The second is 00 00 00 0C
, or Chakra Supression. FF FF FF FF
means nothing is selected for that index, therefore only two are selected.
Hello, my friend used your tool to export the TPL texture. After modification, some of them can't be repackaged into TPL. The color disk 256 exceeds the value。Or can you do a TPL matching export and import tool? I tried tplwii and wimms
Currently you can only select one of two costumes, three for some characters. Add the ability to select more.
Kidomaru's spider spawns the same height above the opponent every time while Jiraiya's frog appears at the same height everytime. They both adjust forward or backward depending on the location of the opponent. I would like Kido's spider to have the same spawn behavior as Jiraiya's toad
Kido:
2X: 1D550
Projectile: 15924
Jiraiya:
2X: 1E3E0
Projectile: 1543C
Both appears on frame 44 and hit Naruto (standing) at approximately frame 72 depending on his stance. This means that the only differences are that the Spider calls a second projectile on hit to trap the opponent with the webbing and Spider summons by a set vertical height in addition to it's horizontal position
Currently when you right click on a file in the Changed Files it opens the file. It would be helpful to instead make this a right click menu that allows:
The file could be reverted by moving/re-extracting from the respective FPK.
The buttons A, B, X, or Y can break grabs. When you have 0 chakra, you can mash X to easily break grabs with no downside. It would be beneficial to make it so that X no longer breaks grabs, only A, B, and Y do.
A function within GNTool that lets end-users to provide a GNT4 mod package to patch into their game, allowing custom mods like texture edits, custom models, and other data to be quickly applied with no need for manual file placements and the like.
Proposed GNT4 mod package format: ".GNTPak" or ".zip" - a zip file with the folder structure and contents that are to be replaced. "*.GNTPak" extension for better recognition, but is optional.
Folder structure should start in the "/files/" directory.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.