savegame-editors icon indicating copy to clipboard operation
savegame-editors copied to clipboard

TOTK: Feature request: Add pins to map

Open tiehu opened this issue 1 year ago • 54 comments

Expected feature: The TOTK savegame editor can modify koroks seeds, visited locations, and defeated bosses in the game, and mark them as finished or mark locations on the in-game map, as is done in the BOTW savegame editor.

Sorry to bother you, but these features are great for saving time (especially the koroks seeds, of which there are so many). I would appreciate it if you could include these features in the editor.

PS: I've noticed that someone has already mentioned the related request in #164, but you said that a new issue should be created for the request.

tiehu avatar May 16 '23 02:05 tiehu

Upvoting this ngl

metalsolid avatar May 16 '23 02:05 metalsolid

Marking these in map is the only feature I'm interested myself. So I will work on that for sure at some point. However, I'm playing and enjoying the game so it might take months until I can get some time to work on this.

...unless someone does the RE dirty work before and dumps the savegame hash table and korok locations. Then I should be able to port this feature from BOTW editor easily.

marcrobledo avatar May 16 '23 06:05 marcrobledo

Upvoting!

LiangNiang avatar May 16 '23 09:05 LiangNiang

Someone has finished all koroks there's 1000. Anyway they could help with the korok thing here?

Foxbound256 avatar May 19 '23 18:05 Foxbound256

Upvoting too!

Shideravan avatar May 22 '23 16:05 Shideravan

Also, there's more places that should be pinned now, such as caves, wells, lightroots, crystallized charges, bubbul gem, schematics, old maps, etc Wow this game has too much collectables lol

Shideravan avatar May 22 '23 16:05 Shideravan

Already starting to work on this ;-) Though don't expect an update on this anytime soon, still need to do a little bit more of research.

marcrobledo avatar May 22 '23 22:05 marcrobledo

...unless someone does the RE dirty work before and dumps the savegame hash table and korok locations. Then I should be able to port this feature from BOTW editor easily.

I noticed someone posted the hashes here, so the unlocking all koroks feature in BotW editor is also possible?

That's a zoom meet link. If it was really posted there, I can't read the older messages :-/

marcrobledo avatar May 23 '23 05:05 marcrobledo

That's a zoom meet link. If it was really posted there, I can't read the older messages :-/

Oh no, please ignore that link, this is the correct one for the hashes: https://gbatemp.net/threads/zelda-tears-of-the-kingdom-152-shirne-120-tree-800-korok-save.633097/#post-10164724

KrisCris avatar May 23 '23 06:05 KrisCris

That's a zoom meet link. If it was really posted there, I can't read the older messages :-/

Oh no, please ignore that link, this is the correct one for the hashes: https://gbatemp.net/threads/zelda-tears-of-the-kingdom-152-shirne-120-tree-800-korok-save.633097/#post-10164724

Please remove that one if possible😂

Unfortunately, that's the hashed keys, what we need to make everything easier is the original key values. For example, in BOTW: MainField_Npc_HiddenKorokGround_3195731426 was 5205D39D The hash function was a simple crc32 using 0xedb88320 as the polynomial (which is indeed one of the most common used). So crc32('MainField_Npc_HiddenKorokGround_3195731426')==0x5205D39D. TOTK might use another polynomial (can't confirm yet).

And another thing... That list was probably extracted from GameData/GameDataList.Product.100.byml, which, from my little research, has all hashed keys (but sadly not the original keys :-( ). But that file includes probably everything in the savegame mixed up. That list from zestiva is probably mixing some korok values with others, as its length is 883 (it should be 800+100=900). So we cannot confirm it's correct nor complete. Setting all those values to 1 may lead to undesired changes in the savegame.

And anyway... Even if it was correct, that would only allow us to get the korok seeds instantly. What are we looking for is to add pins to the map so we can obtain korok seeds legitly.

I've got the coordinates already (which, in this case, it's exactly 900!), what I am missing now is the relationship between the coordinates and their boolean values in the hash table.

marcrobledo avatar May 23 '23 07:05 marcrobledo

Got some news! Latest commit (48d6adc) has a very simple pin to map functionality. Since we still don't have a relationship between the coordinates and the boolean flags, it will add all korok pins to map (independent of what Koroks you've found already) for now. This will change in a future but, for now, it already does the trick and will help a lot to start looking for those little guys!

marcrobledo avatar May 23 '23 21:05 marcrobledo

Well hopefully somebody will tie things together, the most I've found is a little more info in the Banc\MainField*_Static.bcett.byml.zs files

For example J-4_Static.bcett.byml.zs has a location to release korok and this Hash/Placement ID is found in GameData/GameDataList.Product.100.byml:

Gyaml: Obj_LiftRockWhite_Korok_A_01
  Hash: !ul 6493604924579908631
  Phive:
    Placement: {ID: !ul 6493604924579908631}
  Rotate: [-0.0423994437, -0.0430219844, 0.0889328942]
  SRTHash: !u 0xcaf763f0
  Translate: [4165.50342, 455.113281, -63.2921638]
- Dynamic: {KorokLeftPlant: 0, KorokMask: 0, KorokRightPlant: 0, KorokSkinColor: 4}

Then right after that in the file there is this entry where the korok appears on the map after freed:

  Gyaml: Npc_HiddenKorokGround
  Hash: !ul 9839157124751407426
  IsPhysicsStable: true
  Phive:
    Placement: {ID: !ul 9839157124751407426}
  Rotate: [-1.56632353e-07, -0.0466161035, 2.38677899e-07]
  SRTHash: !u 0xaa5f45b6
  Translate: [4165.51123, 455.016449, -63.288044]

The above placement value is what appears in Banc\MainField\HiddenKorok\MainField.hiddenkorok.byml.zs

CeruleanSky avatar May 23 '23 22:05 CeruleanSky

Added pin to map for shrines and lightroots!

marcrobledo avatar May 29 '23 22:05 marcrobledo

I just finished getting all koroks in the game. If it helps with anything let me know what you would need.

Foxbound256 avatar May 30 '23 01:05 Foxbound256

@Karlos007 I've seen by coincidence you've filtered the valid korok seed flags. Amazing job. Do you mind if we use them in the editor?

marcrobledo avatar May 31 '23 16:05 marcrobledo

@Karlos007 I've seen by coincidence you've filtered the valid korok seed flags. Amazing job. Do you mind if we use them in the editor?

Yeah you can use them, It took some time but I wanted to discover the 83 invalid flags https://github.com/Karlos007/TotK-Mods/blob/main/TotK-Research.txt I put them at the begining of the file 100 carried 800 discovered and also the rest that do nothing.

Karlos007 avatar May 31 '23 16:05 Karlos007

@Karlos007 I've seen by coincidence you've filtered the valid korok seed flags. Amazing job. Do you mind if we use them in the editor?

Yeah you can use them, It took some time but I wanted to discover the 83 invalid flags https://github.com/Karlos007/TotK-Mods/blob/main/TotK-Research.txt I put them at the begining of the file 100 carried 800 discovered and also the rest that do nothing.

Wow Does this reasearch make possible to pin wells and autobuild schematics in the future too?

Also, in current version of the totk editor, doesn't seem possible to mark only the missing Koroks, just 3 sets of 300 of them. Is this a technical limitation or may be possible in future to set just the missing ones? Thank you for this awesome work!

Shideravan avatar May 31 '23 16:05 Shideravan

Added pin to map for shrines and lightroots!

It would be awesome if it also adds Light of Blessing to player's inventory when the shrines are cleared.

KrisCris avatar May 31 '23 18:05 KrisCris

Added pin to map missing koroks!!!

Added pin to map for shrines and lightroots!

It would be awesome if it also adds Light of Blessing to player's inventory when the shrines are cleared.

That will come, but please give me some time 😅

marcrobledo avatar May 31 '23 19:05 marcrobledo

Added pin to map for shrines and lightroots!

It would be awesome if it also adds Light of Blessing to player's inventory when the shrines are cleared.

You can also use the editor to add light of blessings to your key items

Foxbound256 avatar May 31 '23 19:05 Foxbound256

Made it so it adds automatically korok seeds and light of blessing after setting korok and shrines to complete.

marcrobledo avatar May 31 '23 22:05 marcrobledo

image

It seems right now Koroks x2 Pins are based on the destination locations, however, I think using the starting locations would be better, if it's possible ; )

KrisCris avatar Jun 01 '23 07:06 KrisCris

It seems right now Koroks x2 Pins are based on the destination locations, however, I think using the starting locations would be better, if it's possible ; )

I got the coordinates from the game files (which are indeed the seed icon that appears when you find a korok), so that's why they appear there.

In order to show the starting position icons, someone should compile the real starting coordinates manually and sort them correctly matching the game order. That sounds like a time consuming task.

marcrobledo avatar Jun 01 '23 19:06 marcrobledo

Added Yiga Schematics completionism features (both pin to map and unlock).

Next: semibosses locations.

marcrobledo avatar Jun 01 '23 19:06 marcrobledo

In order to show the starting position icons, someone should compile the real starting coordinates manually and sort them correctly matching the game order. That sounds like a time consuming task.

Yeah sounds like a huge amount of work... I thought there would be a way to dump their spawn points from the game lol

KrisCris avatar Jun 01 '23 19:06 KrisCris

In order to show the starting position icons, someone should compile the real starting coordinates manually and sort them correctly matching the game order. That sounds like a time consuming task.

Yeah sounds like a huge amount of work... I thought there would be a way to dump their spawn points from the game lol

Of course, they are definitively in the game files. But I'm pretty sure they are scattered and not sorted like the icon coordinates.

marcrobledo avatar Jun 01 '23 19:06 marcrobledo

In order to show the starting position icons, someone should compile the real starting coordinates manually and sort them correctly matching the game order. That sounds like a time consuming task.

Yeah sounds like a huge amount of work... I thought there would be a way to dump their spawn points from the game lol

Of course, they are definitively in the game files. But I'm pretty sure they are scattered and not sorted like the icon coordinates.

That makes sense! Btw can I request a feature: adding a limited amount of pins to the map, say 50 or 100 pins?

KrisCris avatar Jun 02 '23 10:06 KrisCris

It's good to see that the Koroks related features have been completed. I wondered if the same could be done for caves (and bubbulfrogs) and wells.

tiehu avatar Jun 03 '23 08:06 tiehu

It's good to see that the Koroks related features have been completed. I wondered if the same could be done for caves (and bubbulfrogs) and wells.

i'd definitely like the frog pin function as well (also need to close out the request i created just now)

MonfGeiger avatar Jun 04 '23 02:06 MonfGeiger

Pins for undefeated mini-bosses would also be appreciated, as medals are also here in this game.

MagnesG avatar Jun 04 '23 07:06 MagnesG