coldino / Larkator

ARK dino locator that uses your saved .ark
MIT License
53 stars 18 forks source link

Filter Z coords on Fjordur #81

Open Alexander3a opened 2 years ago

Alexander3a commented 2 years ago

So for some reason on Fjordur there are multiple areas (for example -295502.44 -91616.13 -329260.19 )so i woud recommend filtering out the negativ Z coords dinos

i fixed this by changing line ArkReader.cs:88 to

       var creatureObjects = gameObjectContainer
           .Where(o => o.IsCreature() && !o.IsUnclaimedBaby() && !(o.Location.Z<-3000 && MapCalibration.Filename == "Fjordur") && !RAFT_CLASSES.Contains(o.ClassString))
           .ToList();

Or alternativly use some way of marking in what realm the creatures are

coldino commented 2 years ago

Although the visual presentation is not ideal, I don't filter those by choice because they contain species that people want to find and tame, and are places where user's own tames may need to be located.

There are three major realms which overlap the main map (and in fact overlap each other in X,Y). But this is actual very similar to Extinction's giant underground or Valguero's extensive caves - or even like the other caves on Fjordur that have tamable creatures. For example, the Asgard realm is the only place to find Shadowmanes.

I chose to leave them in and think about a better way to view them after release.

Unfortunately I've recently learned there are different map scale and lat/lon conversion parameters for the realms, so it is going to take some significant rework to achieve.

GregariousJB commented 2 years ago

Maybe change this issue title to something more general like "(Suggestion) Support for multi-layered maps (realms on Fjordur, etc)", with Z-levels being a discussion point?

What if Z-levels can be switched temporarily in the UI? If the program knows Map X is being used, it could provide a scrolldown menu for "Asgard", "Anaheim", and "Jotenheim" (I think I got those right), and each selection would limit the visible map's dots to only the dots contained within those Z-levels?

This feels like one of the only few solutions, since multiple dinos spawn in multiple realms - T-Rexes in all 4 realms I think, or 3 of them. I know R-Argentavis spawns in both the main map and Asgard. Hunting for these multi-realm dinos is a crapshoot when the dot you might be chasing is a dot for a dino in a different realm, so this feature would definitely be nice to have.

And I'm aware of the huge Z-level difference, since I use the Better Waypoints V2 mod. When I travel to Asgard all my main-map waypoints are way above me, so Asgard seems to be layered below the main map.

Not sure if this is the only solution, but it's the only one I can see that would be easiest. Unless there's some kinda identifier on each spawn point that tells the game if it's in a certain realm? I don't know.

In any case, thanks a ton for this program 👍

EDIT: I wonder if this would also fulfill #36