• Home
  • Index
  • Search
  • Download
  • Server Rules
  • House Roleplay Laws
  • Player Utilities
  • Player Help
  • Forum Utilities
  • Returning Player?
  • Toggle Sidebar
Interactive Nav-Map
Tutorials
New Wiki
ID reference
Restart reference
Players Online
Player Activity
Faction Activity
Player Base Status
Discord Help Channel
DarkStat
Server public configs
POB Administration
Missing Powerplant
Stuck in Connecticut
Account Banned
Lost Ship/Account
POB Restoration
Disconnected
Member List
Forum Stats
Show Team
View New Posts
View Today's Posts
Calendar
Help
Archive Mode




Hi there Guest,  
Existing user?   Sign in    Create account
Login
Username:
Password: Lost Password?
 
  Discovery Gaming Community Discovery Development Discovery Developers Forum
1 2 3 4 5 6 Next »
fl-Darkmap

Server Time (24h)

Players Online

Active Events - Scoreboard

Latest activity

Pages (2): « Previous 1 2
fl-Darkmap
Offline darkwind
Yesterday, 02:39 AM, (This post was last modified: Yesterday, 02:44 AM by darkwind.)
#11
Frontier Sheriff
Posts: 1,237
Threads: 143
Joined: Oct 2019
Staff roles:
Coding Developer

(03-31-2026, 01:16 PM)IahimD Wrote: Can you also preview the Tau-23 corridors? Less impact full from a gameplay perspective, but totally messed up.
Also, a clarification: Kepler corridors are visible; they just lack plane coords. Omega-97 corridors are... less clear

https://github.com/darklab8/fl-darkstat/...0a38f9ab4b
Code:
func rotateForward(rx, ry, rz float64) float64 {
    xFlipped := math.Abs(math.Abs(rx)-180) < 0.01
    zFlipped := math.Abs(math.Abs(rz)-180) < 0.01

    if xFlipped && zFlipped {
        return ry // double flip cancels out: -(-ry)
    }
    return -ry
}

Some not very math smart added solution for now. if detecting strange flips of objects, then fixing rotation by flip.

Code:
[zone]
nickname = zone_bw02_corridor_06
pos = 28650.5370143416, -3.97673741662251E-12, 19858.683528309
rotate = -180, 27.1180854357753, 180
shape = BOX
size = 1500, 1500, 32700
property_flags = 131072
visit = 128
sort = 99

[zone]
nickname = zone_ew02_lane_ex04
pos = 12428.7, 0, 33681.9
rotate = 0, -72.8, 0
shape = BOX
size = 500, 500, 40215.6
property_flags = 131072
edge_fraction = 1
sort = 99.5
Apperently the source of issue in some objects having X,Z rotations at zero and fully controlled by Y, we set them right as having angle `-Y` in 2D map
And some objects having `rotate = -180, 27.1180854357753, 180` flipped inverted positions due to X,Z rotations set to like 180 degrees opposite rotation, so we get `Y` the opposite solution
The hackish solution above should solve it for now

If someone is math smart enough (or i will figure out some day), we could be having ideal written solution that extrapolates 2D rotation angle from full X,Y,Z rotation angles always correctly. Requires finding formula for that
We can try finding it, with `/pos` command in game we can find out how ship rotates
Code:
ok. so 0,0,0 rotation it is on plane directly looking to north
0, -90, 0 , looking to right of map, slightly below map
going with head to below from looking initially at north at plane, i get -90, 0,0
rotating myself to left entire ship from looking intially to north at plane, i get 0,0,90
looking to up, from initial looking at plane to north, i get 90,0,0
But i did not figure out yet math, may be someone else will?

It is not technically obligatory for correct map working, simple encoded guard can work too (original navmap worked on similar more simple guard checks fine)
Just could be nice to do in order to have mathematically always correct solution

If someone will figure out, the math should be solved by this function for example and at least those tests satisfy (more can be written to fully check it)
Code:
func rotateForward(rx, ry, rz float64) float64 {
    
    return {WHICH ANGLE WRITE HERE}
}

func TestRotation1(t *testing.T) {
    assert.Equal(t, rotateForward(0, 89, 0), -89.0)
}

func TestRotation2(t *testing.T) {
    assert.Equal(t, 27.0, rotateForward(-180, 27, 180))
}


Interstellar Autogit Ctrl-V Encryptor Discovery At Linux
Dark Tools DarkBot DarkLint DarkStat DarkMap
Reply  
Offline darkwind
1 hour ago, (This post was last modified: 40 minutes ago by darkwind.)
#12
Frontier Sheriff
Posts: 1,237
Threads: 143
Joined: Oct 2019
Staff roles:
Coding Developer

(Yesterday, 02:39 AM)darkwind Wrote:
(03-31-2026, 01:16 PM)IahimD Wrote: Can you also preview the Tau-23 corridors? Less impact full from a gameplay perspective, but totally messed up.
Also, a clarification: Kepler corridors are visible; they just lack plane coords. Omega-97 corridors are... less clear

I figured out Kung-Fu of it with a lot of cheating.
Code:
// Freelancer: vector forward = [0, 0, -1] (NEG_Z_AXIS)
// Projection on a navmap (X/Z plane, Y-up)
func ProjectToNavMap(rx, ry, rz float64) (angleDeg float64, projLen float64) {
    v := [3]float64{0, 0, -1} // NEG_Z_AXIS — "forward"
    v = rotX(v, toRad(rx))    // pitch
    v = rotY(v, toRad(ry))    // yaw
    v = rotZ(v, toRad(rz))    // roll

    fx, fz := v[0], v[2]
    projLen = math.Sqrt(fx*fx + fz*fz)

    // atan2(fx, -fz): angle from "north" of a map (-Z direction)
    angleDeg = math.Atan2(fx, -fz) * 180 / math.Pi

    if projLen < 1e-9 {
        return angleDeg, 0 // you could yield error here, but we do not need it :)
    }

    return angleDeg, projLen
}


func toRad(deg float64) float64 {
    return deg * math.Pi / 180
}

func rotX(v [3]float64, a float64) [3]float64 {
    c, s := math.Cos(a), math.Sin(a)
    return [3]float64{v[0], c*v[1] - s*v[2], s*v[1] + c*v[2]}
}

func rotY(v [3]float64, a float64) [3]float64 {
    c, s := math.Cos(a), math.Sin(a)
    return [3]float64{c*v[0] + s*v[2], v[1], -s*v[0] + c*v[2]}
}

func rotZ(v [3]float64, a float64) [3]float64 {
    c, s := math.Cos(a), math.Sin(a)
    return [3]float64{c*v[0] - s*v[1], s*v[0] + c*v[1], v[2]}
}

Now i know perfect Angle for every object how to reflect onto 2D map view through Universal Math formula that does it always right (sun)
With also decrease of object length due to rotation possible look down or up at some level of degree of angle X (reflects perfect any length decrease between 0% to 100%)
If the object is vertical, i render it with width and length both equal to its width then.

So now i can render whatever object complex rotations
Code:
[zone]
nickname = zone_bw02_corridor_06
pos = 28650.5370143416, -3.97673741662251E-12, 19858.683528309
rotate = -180, 27.1180854357753, 180
shape = BOX
size = 1500, 1500, 32700
property_flags = 131072
visit = 128
sort = 99

Updated the map to reflect it perfect





Also checked visbility of Omega7


Interstellar Autogit Ctrl-V Encryptor Discovery At Linux
Dark Tools DarkBot DarkLint DarkStat DarkMap
Reply  
Offline darkwind
45 minutes ago, (This post was last modified: 43 minutes ago by darkwind.)
#13
Frontier Sheriff
Posts: 1,237
Threads: 143
Joined: Oct 2019
Staff roles:
Coding Developer

(03-31-2026, 01:09 PM)IahimD Wrote: On the old NavMap, you can click on the Kelpler corridors (for instance) to get their Y coords (above/below plane). I don't know other indicators in-game or otherwise to know where the corridors are. Also, I tried looking for the Omega-97 corridors... I am a little bit dichromate, but I simply couldn't see them...

[Image: 823a2431c17f0f4a03b9044f84be6b77-simple-...design.png] Okay, i made exclusion zones clickable to get its coords, in 10-20 minutes once auto deploy works, you shall see it


Interstellar Autogit Ctrl-V Encryptor Discovery At Linux
Dark Tools DarkBot DarkLint DarkStat DarkMap
Reply  
Pages (2): « Previous 1 2


  • View a Printable Version
  • Subscribe to this thread


Users browsing this thread:
1 Guest(s)



Powered By MyBB, © 2002-2026 MyBB Group. Theme © 2014 iAndrew & DiscoveryGC
  • Contact Us
  •  Lite mode
Linear Mode
Threaded Mode