Open jeffswt opened 5 years ago
Wow... that is weird. It is most likely because of the world shape, and also because of the issues with imprecise floating point numbers in the calculation. Not really much we can do about that as every situation would be different.
I wonder if a backup of the previous base could be restored to the new location instead?
The farther you get from the original base, the larger the elevation difference you get after you move the base. I checked the vectors you modified, and there aren't supposed to be any problems -- if (and only if) you are working on a flat surface.
And you would get your base restored if you move back the base computer (swap back). So i suggest that there should be few to do with FP errors.
I'm trying to come up with a prototype of a moving algorithm that at least fixes the problem partially. But there are still a few things to consider:
EDIT: When I edited my base the actual build limit was between [1002, 1003)u and not 1000u. I suspect that, the actual base build limit was calculated in euclidean distance, between the point the person was standing and the base computer, while the distance shown on the Analysis Visor was the length of the arc on the sphere connecting the two points. That might explain this problem.
I had a problem with mod parts not lining up with the rest of my base so I used Blender to slide it all back where it belonged. A simple height translation ought to be easy enough to do.
The question is, how are the objects stored? It should be apparent that, if the objects are all stored in a Cartesian plane, such issues would not have happened. From the position values we can also infer that it is not stored in a polar plane. Then how could this happen?
UPDATE: Position kept where they were after moving the base away for 1000+ metres. But relative angles are a bit strange and I'm still trying to fix them.
UPDATE AFTER 10 MINS: Sorry I forgot to delete the return
before the file saver.
Now everything is working. I'll release the code after I figure out how to switch the base computer and the beacon safely. Still the base computer moved 1000u away.
Pic below:
https://github.com/jeffswt/no-mans-save-py/commit/f2ea730d
This can be incorporated into your code seamlessly with minor (language) modifications. I would be grateful if you attribute my work. Won't be a problem if you don't. It's just an idea.
Hope it'll be a quick fix.
I moved the base computer to a beacon 1000u away.
Everything in the original place were elevated for dozens of metres up into the sky.
I sense this has something to do with the spherical world. Is there any way to fix this?
EDIT: A simple schematic
Reproduction steps: