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

missing / unidentified creature fields #142

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

missing / unidentified creature fields #142

StarryWisdom opened this issue Mar 29, 2018 · 5 comments

Comments

@StarryWisdom
Copy link
Collaborator

there seems to be a few missing fields in creature which should be easy to prove with some time
single scan (2.1 - confirm I guess?)
however tagging is done with double scans
however tagging dates and ships are done
creature age

@NoseyNick
Copy link
Collaborator

Certainly LOOKS scan-related:

# STAT:   13291   Creature.Unknown21 (min 0 max 4294967295)
# STAT:    3848     Creature.Unknown21 = 0 (0x0)
# STAT:     584     Creature.Unknown21 = 1073741824 (0x40000000)
# STAT:     390     Creature.Unknown21 = 1073741826 (0x40000002)
# STAT:     644     Creature.Unknown21 = 1073741828 (0x40000004)
# STAT:     648     Creature.Unknown21 = 1073741830 (0x40000006)
# STAT:     692     Creature.Unknown21 = 2 (0x2)
# STAT:    1347     Creature.Unknown21 = 4 (0x4)
# STAT:    4485     Creature.Unknown21 = 4294967295 (0xffffffff)
# STAT:     653     Creature.Unknown21 = 6 (0x6)

Should probably be able to find one being scanned in my logs.
Tagging seems to be done with 0xf754c8fe:0x1d Tag - see #108
Age... Unknown31 (byte, new in v2.6.3) seems to go from 1..3 which matches what the mission-file-docs.txt says. Needs confirmation though

   ATTRIBUTE: age
      VALID: 1-3 (young, mature, ancient)

rjwut added a commit that referenced this issue Apr 5, 2018
@NoseyNick
Copy link
Collaborator

Confirming a few things (tested by adding various ObjCreatures to my disco server):

Creature 3.2 seems to be "ShowOnMaps" side-shifted-bitmask thing akin to PlayerShip 5.7 or NPCShip 4.3. 0 makes it invisible, 4 or -1 makes it visible.

Creature 2.1 value 0 shows "Unknown" "ZZ" on Science Screen. value 4 or -1 shows Age, Scientific Name, etc etc, so presumably "SingleScan" side-shifted-bitmask thing.

Assuming science is able to show you "Age" as above, bit 3.1 is that age. 1=Young 2=Mature, 3=Ancient (and 0=REPEL, oops 😀 )

@NoseyNick
Copy link
Collaborator

Still have no idea what bit2.2 is (ALMOST always 0, but value of 4 has been observed occasionally)

bit2.3 to 2.6 are also still confusing as heck - horribly messy, many many values appear, typically looking like "Very negative ints". Some of the most popular values:

   27892     Creature.Unknown26 = 4291001636 (0xffc37d24)
   47384     Creature.Unknown26 = 4291442178 (0xffca3602)
  143051     Creature.Unknown26 = 4291974693 (0xffd25625)
  144932     Creature.Unknown26 = 4294967295 (0xffffffff)

@NoseyNick
Copy link
Collaborator

Mucking with the values of Creature.Unknown26, for a dragon, seems to affect the size of the dragon on 3D views, but also frequently makes it invisible. I'm wondering if it's got a bunch of values compacted into a 32-bit field including size and visibility or something... surreal?

@NoseyNick
Copy link
Collaborator

... and/or bit2.3 to 2.6 are floats, like I suspected many moons ago... Except floats that often contain rubbish values, like stupidly negative, stupidly positive, or stupidly tiny, or straight NaNs. Suspect we'll get to a point where we can say things like "If CreatureType=Dragon, bit 2.6=Something, may contain undefined / random data otherwise"

Suspect it's OK to update Creature bit 2.1=SingleScan, 3.1=Age, 3.2=ShowOnMaps, those look pretty convincing.

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

No branches or pull requests

2 participants