Open forthrin opened 5 years ago
This is the data you're looking for: https://github.com/MrCheeze/botw-waypoint-map/blob/gh-pages/Location.xml https://github.com/MrCheeze/botw-waypoint-map/blob/gh-pages/Static.xml
And the names are here: https://github.com/MrCheeze/botw-tools/blob/master/text/StaticMsg/LocationMarker.xmsbt
It's unclear how to make a complete list of all waypoints that give game completion percentage (and therefore also are not on the map when the game starts).
tracked_locations.txt
contain 200 entries.map_locations.js
contains 187 entries.map.py
(Gorko Tunnel, Lake Hylia, et. al.)Then sites like this say "Location Discovery = 0.08% x 226 = 18.08%":
https://segmentnext.com/2017/03/13/zelda-breath-of-the-wild-100-percent-completion-guide/
Could you clear up the confusion between 187 vs 226? Are maybe the 39 other ones not waypoints but other types of finds that add up to the percentage?
I think they're using me as the source there, I originally thought there were 226 before correcting myself to 187.
Aha :) 187 it is, then. Thanks for the clarification. I'm using the data to create different types of TSP maps for interesting ways to run through the game. This is done with some reservation, though, as TSP obviously doesn't know about the order of which certain game tasks have to be completed.
Hope you (or someone just as clever) will be on the ball when the sequel comes out :)
PS! Is there any data that tells whether the shrine is readily available in the landscape, or if it has to be revealed (eg. through a shrine quest)?
PPS! How did you make the list of waypoints that give percentage (ie. tracked_locations.txt
)? Is this programmable from other data, or did you have to assemble it manually?
According to an old comment of mine, I checked the list of save flags in the game (which is in botw-tools) and cross-referenced it with this list of locations.
I'm sure the mubin data can be processed to figure it which shrines start visible and which don't, but you'll have to figure out the details.
Thanks!
The game map and height map are different crops and sizes, making it not-so-intuitive to check the height for a particular point on the map, unless I'm missing something essential here...
How do I map X/Y coordinates from the 6000x5000 map PNG to the 3072x3072 height map PNG?
height_map_x = map_x * A + B;
height_map_y = map_y * C + D;
What are A, B, C and D?
Still waiting for the conversion formula between the maps. (Too bad the maps do not correspond to begin with.) I could do this by eye, but I'd like a precise conversion, therefore asking the author.
In fact, the hght (heightmap) format is one I have a fairly limited understanding of. In fact the data is defined at many different levels of detail...
But actually, I guess a complete understanding isn't necessary for the conversion you're asking for. I believe if you pad the top and bottom evenly of the 6000x5000 to make it 6000x6000, they will both have exactly the same crop as each other. At which point converting between the scale of one and the other should be no problem.
Oh, it was that easy? Thanks! I tried combining them using ImageMagick, and it looks correct. However, I think there is some height data missing. For example the huge descent to the left of Mount Agaat is simply black in the height map whereas it should have been a gradient. It this because you haven't been able to fully extract the height data due to limited understanding?
Multiple possibilities. It could be the gradient only exists at a different LOD, yeah. Alternatively it might be constructed out of actors rather than a heightmap. Anything with an overhang is actually actors out of necessity, and I think most near-vertical slopes also are because vertically stretches heightmap terrain actually looks quite ugly. So heightmap alone is not always going to look correct.
So the in-game elevation colours/rings give the impression that the slope is much less steep than it actually is, because it looks better? Sounds probable for a design-aware company like Nintendo.
Well, the height map comes quite in handy anyway. It can be used for TSP maps where you want to let paths avoid very elevated (ie. hard-to-access) areas.
PS! The height map looks like someone drew it by hand with a Photoshop brush that lightens areas. Is this how you think it was constructed, or is there another explanation for its look?
PPS! What are these "actors" you're referring to?
When I talk about looking better, I'm not talking about the map, I mean actually in-game it looks terrible when the land is vertically stretches using hrightmaps - the textures get awkwardly stretched, and you can't have even slight overhangs. So instead they use actors (which is the correct name for what I call objects") that are just lumps of terrain - grass, cliff, whatever.
I have no idea how the heightmap was actually constructed, it would be pretty funny if it was Photoshop as you say.
All the labels/names of objects, are they from the binary, or did you create them yourself? (I suppose the prior, since the latter would be an insane amount of work, but why haven't Nintendo removed these prior to launching? I assume these are labels used in the code, that would normally be replaced with ints at compile time)
Switch binaries, are they really mountable file systems (like an .iso or .dmg?) so that Switch games load content using fopen()? (I would assume so since people are doing advanced hacks like replacing Link with Zelda, etc.) Is there software to mount the binary from Linux/Mac?
All actors have an internal name and are referred to by string, since the game is 99% data-driven and uses names to reference actor types. Some have player-viewable names also (e.g. everything you can take a picture of, and many other things).
There aren't tools to mount it, but there are tools to unpack/extract it.
Strange! It seems that would make for very un-optimized code if thousands of objects has to be looked by up strings all the time, this being a real-time game and all, but there is probably at least some hash table, then. Or maybe they cache the matches with integers once they have been looked up.
Can you post links to these tools? (Preferably command line based ones that work for Linux/macOS).
Where in the dataset can I find coordinate data that correspond to the 6000x5000 PNG for:
I can't seem to find these in your BotW repositories, at least not readily available.
For the latter I'm also interested in data that tells whether the location: