Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drones y (1.3 and 1.6) #137

Open
StarryWisdom opened this issue Mar 29, 2018 · 11 comments
Open

Drones y (1.3 and 1.6) #137

StarryWisdom opened this issue Mar 29, 2018 · 11 comments

Comments

@StarryWisdom
Copy link
Collaborator

the drone y seems to be stored in bit 1.4 - 1.6 is unknown I am 99% sure I tested spawning in different y's and
1.2=x
1.3=y
1.4=z
in 2.6 but dont have the test results to hand

@rjwut
Copy link
Member

rjwut commented Apr 9, 2018

Do we have confirmation on this?

@NoseyNick
Copy link
Collaborator

Don't think so. It seems to be much harder than one might imagine to get anything with Y != 0 (or very close to it). 😕

@StarryWisdom
Copy link
Collaborator Author

I'm fairly sure I tested it (and will again later) but havent got the code working at this moment

@NoseyNick
Copy link
Collaborator

OK, here ya go... Having already adopted Drone bit 1.3=Y and 1.6=Unknown16:

Drone(Side=1,Y=-0.0026952950283885,Un16=0.0199999995529652) spawned near NPCShip(Side=1,Y=0)
Drone(Side=1,Y=0.235943824052811,Un16=0.0799999907612801) spawned near NPCShip(Side=1,Y=0)
Drone(Side=1,Y=-0.106918945908546,Un16=0.190000012516975) spawned near NPCShip(Side=1,Y=0.0103049818426371)
Drone(Side=1,Y=-8.01507949829102,Un16=0.220000028610229) spawned near NPCShip(Side=1,Y=0)
Drone(Side=1,Y=-60.1403465270996,Un16=0.250000029802322) spawned near NPCShip(Side=1,Y=-64.7608871459961)
Drone(Side=1,Y=14.9825983047485,Un16=0.159999996423721) spawned near NPCShip(Side=1,Y=15.6207008361816)
Drone(Side=1,Y=13.3095407485962,Un16=0.11999998241663) spawned near NPCShip(Side=1,Y=12.6892547607422)
Drone(Side=1,Y=1.75245475769043,Un16=0.0999999865889549) spawned near NPCShip(Side=1,Y=1.96566009521484)
Drone(Side=1,Y=-7.87651109695435,Un16=0.109999984502792) spawned near NPCShip(Side=1,Y=-8.13555145263672)
Drone(Side=1,Y=-15.5329532623291,Un16=0.129999980330467) spawned near NPCShip(Side=1,Y=-16.8999462127686)
Drone(Side=1,Y=17.0919952392578,Un16=0.250000029802322) spawned near NPCShip(Side=1,Y=12.227710723877)
Drone(Side=1,Y=-94.8371810913086,Un16=0.159999996423721) spawned near NPCShip(Side=1,Y=-94.8947906494141)
Drone(Side=1,Y=-87.9394760131836,Un16=0.240000039339066) spawned near NPCShip(Side=1,Y=-89.8363494873047)
Drone(Side=1,Y=-111.904121398926,Un16=0.210000023245811) spawned near NPCShip(Side=1,Y=-116.072105407715)
Drone(Side=1,Y=-89.1087951660156,Un16=0.0599999949336052) spawned near NPCShip(Side=1,Y=-89.111328125)
Drone(Side=1,Y=-88.8518218994141,Un16=0.0699999928474426) spawned near NPCShip(Side=1,Y=-88.8570022583008)
Drone(Side=1,Y=-111.019943237305,Un16=0.230000033974648) spawned near NPCShip(Side=1,Y=-111.969757080078)
Drone(Side=1,Y=-105.669715881348,Un16=0.230000033974648) spawned near NPCShip(Side=1,Y=-105.767242431641)
Drone(Side=1,Y=-2.0436224937439,Un16=0.260000020265579) spawned near NPCShip(Side=1,Y=0.000175034103449434)
Drone(Side=1,Y=-1.29498076438904,Un16=0.240000039339066) spawned near NPCShip(Side=1,Y=-2.10683917999268)
Drone(Side=1,Y=4.63931131362915,Un16=0.0799999907612801) spawned near NPCShip(Side=1,Y=4.61364555358887)
Drone(Side=1,Y=-39.1337127685547,Un16=0.0299999993294477) spawned near NPCShip(Side=1,Y=-39.1354866027832)
Drone(Side=1,Y=-71.3078994750977,Un16=0.0599999949336052) spawned near NPCShip(Side=1,Y=-71.3147354125977)
Drone(Side=1,Y=-88.1725540161133,Un16=0.149999991059303) spawned near NPCShip(Side=1,Y=-88.5097808837891)
Drone(Side=1,Y=-58.8320693969727,Un16=0.0399999991059303) spawned near NPCShip(Side=1,Y=-58.8906593322754)
Drone(Side=1,Y=-59.4663887023926,Un16=0.180000007152557) spawned near NPCShip(Side=1,Y=-59.5922355651855)
Drone(Side=1,Y=11.1811017990112,Un16=0.0199999995529652) spawned near NPCShip(Side=1,Y=11.7113628387451)
Drone(Side=1,Y=-2.72921061515808,Un16=0.250000029802322) spawned near NPCShip(Side=1,Y=-3.10105204582214)
Drone(Side=1,Y=-54.3478889465332,Un16=0.180000007152557) spawned near NPCShip(Side=1,Y=-58.9962844848633)

I think Drone.Y is fairly convincingly close to the NPCShip.Y that probably spawned it? I don't know what Drone.Unknown16 is but it's not that close to Y.

Also my total stats for ALL Drones I've EVER seen:

# STAT: 1703520 Drone (13965 fully-pop)
# STAT: 1703487   Drone.Heading (min -3.14158058166504 max 3.14158630371094)
# STAT:   14637   Drone.Side (min 1 max 2)
# STAT:   14526     Drone.Side = 1 (0x1)
# STAT:     111     Drone.Side = 2 (0x2)
# STAT:   14637   Drone.Unknown11 (min 10 max 60)
# STAT:    1128     Drone.Unknown11 = 10 (0xa)
# STAT:      27     Drone.Unknown11 = 12 (0xc)
# STAT:    4227     Drone.Unknown11 = 15 (0xf)
# STAT:      26     Drone.Unknown11 = 20 (0x14)
# STAT:      24     Drone.Unknown11 = 25 (0x19)
# STAT:    8073     Drone.Unknown11 = 30 (0x1e)
# STAT:    1132     Drone.Unknown11 = 60 (0x3c)
# STAT:   13965   Drone.Unknown15 (min 0 max 0)
# STAT: 1703520   Drone.Unknown16 (min 0.00999999977648258 max 753.0634765625)
# STAT: 1703374   Drone.X (min -99954.0859375 max 128731.3203125)
# STAT: 1692000   Drone.Y (min -7141.88671875 max 9769.037109375)
# STAT: 1703268   Drone.Z (min -69725.3671875 max 179406.875)

@NoseyNick
Copy link
Collaborator

I realised a potential selection-bias above... My definition of "near" was Pythagoras on X,Y,Z. If 2 "nearest things" had similar X and Z but different Y/Unk16, I was deliberately assuming the closer Y was "closer".

I repeated with pythagoras just on ONLY X,Z, ignoring Y (and Unk16), but the dump looks to be identical.

@rjwut
Copy link
Member

rjwut commented Apr 10, 2018

Good enough for me.

@rjwut
Copy link
Member

rjwut commented Apr 10, 2018

I would guess, then, that bit 1.5 is roll and bit 1.6 is pitch, because this would be consistent with other objects.

@rjwut
Copy link
Member

rjwut commented Apr 10, 2018

The only value I've ever captured for bit 1.5 is 0, but you can see drones roll as they approach, so I don't think that's it. Ranges captured for bit 1.6 are 0.01 - 753.0635. This doesn't seem consistent with other pitch values I've seen (for example: player ships: -3.1415927 - 3.1415927, creatures: -0.49725252 - 0.4962025).

rjwut added a commit that referenced this issue Apr 10, 2018
As discussed in #137
@rjwut
Copy link
Member

rjwut commented Apr 10, 2018

I've updated the docs to reflect that bit 1.3 is Y. Do we want to leave this open to discuss the other unknowns on drones?

@rjwut rjwut changed the title drones y (1.4 and 1.6) Drones y (1.3 and 1.6) Apr 10, 2018
@NoseyNick
Copy link
Collaborator

I've only ever captured # STAT: 13965 Drone.Unknown15 (min 0 max 0) as well. You're saying that's roll? Does roll=0 always make sense for a drone?

Does pitch... # STAT: 1703520 Drone.Unknown16 (min 0.00999999977648258 max 753.0634765625) make sense?

The other unknown...

# STAT:   14637   Drone.Unknown11 (min 10 max 60)
# STAT:    1128     Drone.Unknown11 = 10 (0xa)
# STAT:      27     Drone.Unknown11 = 12 (0xc)
# STAT:    4227     Drone.Unknown11 = 15 (0xf)
# STAT:      26     Drone.Unknown11 = 20 (0x14)
# STAT:      24     Drone.Unknown11 = 25 (0x19)
# STAT:    8073     Drone.Unknown11 = 30 (0x1e)
# STAT:    1132     Drone.Unknown11 = 60 (0x3c)

@NoseyNick
Copy link
Collaborator

Creature: X,Y,Z, Name, Heading,Pitch,Roll, ....
Drone: Unknown, X,Y,Z, unknown, unknown, Heading, ... possibly:
Drone: Unknown, X,Y,Z, Roll, Pitch, Heading, ... ?
Generic Mesh: X,Y,Z, unknown,unknown,unknown, Roll,Pitch,Heading, ...
NPCShip: ..., X,Y,Z, Pitch,Roll,Heading, ...
PlayerShip: ..., X,Y,Z, Pitch,Roll,Heading,...
Torp: X,Y,Z, dX,dY,dZ, ...
(Whale: X,Y,Z, Pitch,Roll,Heading,...)

I know Artemis protocol inconsistency is something we have learned to expect, but... How sure are we about this triplet appearing in so many different orders? Were they all tested from script files?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants