@PandaOnSmack yep the master sword breaks the trainer you have to loosen up your inventory to get it working again like get rid of some weapons and bows
Thanks a lot for this, finally got it to work, I added a few bows, a greatsword, and the barbarian set to the list. If everyone adds theirs we will have them all quick, I'll edit this post as I find more. If someone could post how spears and shields are stored I could work on adding some of those as well. Also does anyone know why some of the outfits don't seem to have sequential numbers for the upgrades? Like 13131 Gives 1 star barbarian armor then 13132 gives 2 star but 13130 doesn't give you the armor with no upgrades, it just gives you an error item. But for some of the sets the un-upgraded armor does seem to be right before the upgrades. I'm still a newbie at this so I don't really get it. Also the method of finding the address for the equip(searching 0101000 then 00010000) doesn't seem to work for me for outfits that only have 1 piece and are not a set(like the sapphire circlet). I get 0 results.
EDIT: Added a few more swords and bows
Swords/1Hand Weapons:
031 = Traveler's Sword
032 = Soldier's Broadsword
033 = Knight's Broadsword
034 = Boko Club
035 = Spiked Boko Club
036 = Dragonbone Boko Club
037 = Lizal Boomerang
038 = Lizal Forked Boomerang
039 = Lizal Tri-Boomerang
133 = Guardian Sword
134 = Guardian Sword+
135 = Guardian Sword++
136 = Lynel Sword
137 = Mighty Lynel Sword
138 = Savage Lynel Sword
139 = Bokoblin Arm
230 = Lizalfos Arm
231 = Rusty Broadsword
232 = Soup Ladle
233 = Ancient Sword
234 = Royal Broadsword
235 = Forest Dweller's Sword
237 = Zora Sword
239 = Gerudo Scimitar
330 = Moonlight Scimitar
331 = Feathered Edge
333 = Flameblade
334 = Frostblade
335 = Thunderblade
430 = Spring-Loaded Hammer
431 = Eightfold Blade
433 = Torch
434 = Tree Branch
437 = Royal Guard's Sword
438 = Meteor Rod
439 = Blizzard Rod
530 = Thunderstorm Rod
531 = Boomerang
532 = Scimitar of the Seven
533 = Vicious Sickle
536 = ??? Master Sword (unequippable)
537 = Goddess Sword (Skyward Sword Amiibo)
538 = Sword (8-bit Link Amiibo)
539 = Sea-Breeze Boomerang (The Wind Waker)
630 = Fire Rod
631 = Ice Rod
632 = Lightning Rod
730 = Master Sword
731 = Master Sword (not near malice, no charge)
732 = Master Sword (near malice, no charge)
733 = Demon Carver
Greatswords/Heavy weapons
031 = Traveler's Claymore
032 = Soldier's Claymore
033 = Knight's Claymore
034 = Boko Bat
035 = Spiked Boko Bat
036 = Dragonbone Boko Bat
130 = Moblin Club
131 = Spiked Moblin Club
132 = Dragonbone Moblin Club
133 = Ancient Battle Axe
134 = Ancient Battle Axe+
135 = Ancient Battle Axe++
136 = Lynel Crusher
137 = Mighty Lynel Crusher
138 = Savage Lynel Crusher
139 = Moblin Arm
230 = Rusty Claymore
233 = Ancient Bladesaw
234 = Royal Claymore
237 = Silver Longsword
239 = Golden Claymore
330 = Double Axe
331 = Iron Sledgehammer
332 = Woodcutter's Axe
333 = Great Flameblade
334 = Great Frostblade
335 = Great Thunderblade
336 = Cobble Crusher
337 = Stone Smasher
338 = Boat Oar
531 = Giant Boomerang
534 = Boulder Breaker
535 = Edge of Duality
536 = Korok Leaf
537 = Sword of the Six Sages (Twilight Princess)
539 = Biggoron's Sword (Ocarina of Time)
630 = Fierce Deity Sword (Majora's Mask)
734 = Windcleaver
Bows:
031 = Traveler's Bow
032 = Soldier's Bow
033 = Spiked Boko Bow
034 = Boko Bow
036 = Lizal Bow
039 = Lynel Bow
131 = Strengthened Lizal Bow
133 = Forest Dweller's Bow
134 = Silver Bow
135 = Golden Bow
136 = Swallow Bow
137 = Falcon Bow
233 = Ancient Bow
236 = Mighty Lynel Bow
237 = Dragon Bone Boko Bow
238 = Great Eagle Bow
239 = Phrenic Bow
330 = Steel Lizal Bow
332 = Savage Lynel Bow
333 = Royal Guard's Bow
335 = Knight's Bow
336 = Royal Bow
338 = Wooden Bow
430 = Duplex Bow
731 = Bow of Light
732 = Twilight Bow (Twilight Princess, shoots Light Arrows!)
Shields:
330 = Hylian Shield
331 = Hunter's Shield
332 = Fisherman's Shield
333 = Royal Guard's Shield
537 = Hero Shield (Wind Waker)
Outfits:
03031 = Hylian Set (03032, 03033, 03034)
03035 = ...of the Wild Set
03036 = Zora Set (03037)
03038 = Desert Voe Set
03039 = Snowquill Set
03533 = Gerudo Set
13030 = Ancient Set (13031, 13032)
13033 = Rubber Set
13131 = Barbarian Set
23030 = ...of Time Set (23031, 23032, 23033, 23034)
23035 = ...of the Wind Set (23036, 23037, 23038, 23039)
23130 = ...of Twilight Set (23131, 23132, 23133, 23134)
23135 = ...of the Sky Set (23136, 23137, 23138, 23139)
23235 = Fierce Deity Set (23236, 23237, 23238, 23239)
23330 = ...of the Hero Set (23331, 23332, 23333, 23334)
[23230 = Sheik's Mask (23231, 23232, 23233, 23234) - Head only]
Weapon Modifiers
X00000YY
X = Modifier Level (0 = Level 1, 8 = Level 2)
YY = Modifier Type
--
01 = Attack Up
02 = Durability Up
04 = Critical Hit
08 = Long Throw
10 = Five-Shot Burst
20 = ??? x3
40 = Quick Shot
80 = Shield Surf Up
30000000 4225B4AC
10000000 4C89FFFF
31000000 00000430
00100000 00000072
D0000000 DEADCAFE
All entries in the Item field have a name stored in ordinary text at offset +0x1C from the base. This name corresponds to an entry in the /Actor/Pack folder that describes the item. Names have a relatively fixed-length structure, so editing individual bytes has been working pretty well:
Armor_003_Head
Armor_008_Lower
Armor_011_Upper
etc.
Modifying the trainer to let you edit these looks like the attachment.
@PandaOnSmack yep the master sword breaks the trainer you have to loosen up your inventory to get it working again like get rid of some weapons and bows
Sure, here's a pastebin with the changes: http://pastebin.com/8YVNBmNs
For speeding this up, I would suggest locally copying the entire item block at once, then doing operations on that instead of making lots of little transfers back and forth through tcpgecko.
Exactly. Also for strings I do it in a similar fashion but dump as much memory as possible to avoid sending multiple requests as much as possible. Depending on the TCP Gecko, it is 0x400 or 0x5000:
Code:public String readString(int address) throws IOException { byte[] bytesRead; StringBuilder stringBuilder = new StringBuilder(); int byteBufferSize = TCPGecko.maximumMemoryChunkSize; // The amount of bytes to read and inspect at once while (true) { bytesRead = readBytes(address, byteBufferSize); for (byte byteRead : bytesRead) { if (byteRead == 0) { // The String has ended return stringBuilder.toString(); } char letter = DataConversions.toCharacter(byteRead); stringBuilder.append(letter); } address += byteBufferSize; } }
Breath of the wild
Activator Addresses (Gamepad)
0x102EFA64
or
0x1127115C
(found by me)
A = 00008000
Y = 00001000
X = 00002000
B = 00004000
- = 00000004
+ = 00000008
TV = 00010000
R = 00000010
ZR = 00000040
L = 00000020
ZL = 00000080
Home = 00000002
D-Pad Down = 00000100
D-Pad Left = 00000800
D-Pad Up = 00000200
D-Pad Right = 00000400
Right Stick Up = 01000000
Right Stick Right = 02000000
Right Stick Left = 04000000
Right Stick Down = 00800000
Left Stick Up = 10000000
Left Stick Right = 20000000
Left Stick Left = 40000000
Left Stick Down = 08000000
OK I have added a bunch of new stuff and also restarted my game as i don't really want to spoil the play through. If i haven't credited you just ping me.
https://github.com/joffnerd/botw-trainer/releases
If we can get a list of ids i can then swap out Weapon_Sword_044 to Branch for example
The items don't wrap very well in each tab so I need to create a control to house the label and box
Next i will try and work on the inventory types.
just tried on a new save.... im not understanding how to use it i guess, i put my stamina 447A0000 to 467A0000 and hit save, nothing happens, i save and load and nothing happens, i hit refresh and it goes back to 447A0000........ and what does the box signify?OK I have added a bunch of new stuff and also restarted my game as i don't really want to spoil the play through. If i haven't credited you just ping me.
https://github.com/joffnerd/botw-trainer/releases
If we can get a list of ids i can then swap out Weapon_Sword_044 to Branch for example
The items don't wrap very well in each tab so I need to create a control to house the label and box
Next i will try and work on the inventory types.
for me the only thing that works is the first few tabsSo the checkbox enables the cheat if you click save. The textbox is the current value when you load/refresh. the label to the right has the same info for helping purposes just in case its the wrong address
447A0000 is the default float which = 1000
The max value is 453B8000 which is 3000
So enter 453B8000 in the textbox, check the checkbox and press save
for me the only thing that works is the first few tabs
neither debug nor codes do anything when saved
it shows, in fact i can take the data and use it in jgecko, but i just get no results for hitting save in the codes/debug tabI am PAL so it may not work for US?
--------------------- MERGED ---------------------------
Debug doesn't do anything other than show you data. If you are US it may notwork due to address differences. Can you screen shot codes tab?