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

bases object field corrections #164 #186

Merged
merged 3 commits into from
Dec 2, 2019
Merged

bases object field corrections #164 #186

merged 3 commits into from
Dec 2, 2019

Conversation

NoseyNick
Copy link
Collaborator

@NoseyNick NoseyNick commented Nov 17, 2019

Thanks to @StarryWisdom in #164 - some updates to 2 "base" fields.
Also fixing an HTML error - <dt> that were incorrectly outside the <dl>.

Copy link
Collaborator

@StarryWisdom StarryWisdom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo - base's dhields rather than base's shields

@NoseyNick
Copy link
Collaborator Author

DOH! Dheilds typo fixed.
Note that some of this will probably have merge conflicts with the bigger #188 HTML fixes - will resolve one or other once we've decided which to merge first.

@rjwut rjwut merged commit 65db451 into gh-pages Dec 2, 2019
@rjwut rjwut deleted the 164 branch December 2, 2019 16:05
The side index for this base. Ships / bases which
have the same side index are friendly to one another.
There is no side 0.
The default friendly side is 2.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait, why is the default friendly side 2?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some stats from my collection...

# STAT:    6811   Base.Side (min 0 max 11)
# STAT:     180     Base.Side = 0 (0x0)
# STAT:    1263     Base.Side = 1 (0x1)
# STAT:    5326     Base.Side = 2 (0x2)
# STAT:      18     Base.Side = 3 (0x3)
# STAT:       8     Base.Side = 4 (0x4)
# STAT:       2     Base.Side = 5 (0x5)
# STAT:       2     Base.Side = 6 (0x6)
# STAT:       2     Base.Side = 7 (0x7)
# STAT:       2     Base.Side = 8 (0x8)
# STAT:       2     Base.Side = 9 (0x9)
# STAT:       2     Base.Side = 10 (0xa)
# STAT:       4     Base.Side = 11 (0xb)
# STAT:   18343   Drone.Side (min 1 max 2)
# STAT:   18231     Drone.Side = 1 (0x1)
# STAT:     112     Drone.Side = 2 (0x2)
# STAT:  125174   NPCShip.Side (min 0 max 30)
# STAT:       1     NPCShip.Side = 0 (0x0)
# STAT:  111526     NPCShip.Side = 1 (0x1)
# STAT:    8401     NPCShip.Side = 2 (0x2)
# STAT:      64     NPCShip.Side = 3 (0x3)
# STAT:       3     NPCShip.Side = 4 (0x4)
# STAT:      25     NPCShip.Side = 10 (0xa)
# STAT:      48     NPCShip.Side = 11 (0xb)
# STAT:    5106     NPCShip.Side = 30 (0x1e)
# STAT:   75637   PlayerShip.Side (min 2 max 11)
# STAT:   75120     PlayerShip.Side = 2 (0x2)
# STAT:     107     PlayerShip.Side = 3 (0x3)
# STAT:      57     PlayerShip.Side = 4 (0x4)
# STAT:       6     PlayerShip.Side = 5 (0x5)
# STAT:       6     PlayerShip.Side = 6 (0x6)
# STAT:       6     PlayerShip.Side = 7 (0x7)
# STAT:       6     PlayerShip.Side = 8 (0x8)
# STAT:       6     PlayerShip.Side = 9 (0x9)
# STAT:     159     PlayerShip.Side = 10 (0xa)
# STAT:     164     PlayerShip.Side = 11 (0xb)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... although it looks like I might have to remove "There is no side 0"? 🙁

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to vesselData.xml, the default sides associated with each vessel are as follows. I wonder if they have anything to do with the side data for each of these entities.

0 = TSN/Terran player ships
1 = TSN/Terran bases and friendly ships
2 = Kralien ships and bases
3 = Arvonian ships and bases
4 = Torgoth ships and bases
5 = Skaraan ships and bases
6 = BioMechs
7 = Ximni/Zim ships
8 = Pirate ships

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if/why the protocol disagrees, perhaps there's some good reason why they add 2, or a heck of a lot of friendly Kralien bases or something, or the docs are just wrong... but I just started a level1 Siege, with 4 friendly bases:

objectBitStream(
  ObjBase(1000,Name=>UTF16("DS1"),Shields=>800,MaxShields=>800,Index=>6,VesselType=>1002,X=>49755.5,Z=>49947.85546875,Side=>2),
  ObjBase(1001,Name=>UTF16("DS2"),Shields=>400,MaxShields=>400,Index=>6,VesselType=>1001,X=>43591.328125,Z=>61022.31640625,Side=>2),
  ObjBase(1002,Name=>UTF16("DS3"),Shields=>400,MaxShields=>400,Index=>6,VesselType=>1004,X=>65726.625,Y=>0,Z=>56230.91015625,Unknown21=>0,Unknown22=>0,Unknown23=>0,Unknown24=>0,Unknown25=>0,Side=>2),# full
  ObjBase(1003,Name=>UTF16("DS4"),Shields=>400,MaxShields=>400,Index=>6,VesselType=>1001,X=>61613.44140625,Z=>65037.5546875,Side=>2),
  ObjEOL()
);

PlayerShip was at X=>43614.32421875,Y=>31.3577728271484,Z=>60922.828125 docked at DS2.

Feel free to run your own tests!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anyone feel like making a script file with one TSNBase, one KralienBase, one ArvonianBase, etc? Would be interesting to see if the docs are just plain wrong, or the protocol is wrong, and/or the game is adding 2, or ignoring "Side" for a lot of Kralien bases in regular Siege games, or something?
We may have deduced it was "Side" based on names? See #164

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@StarryWisdom says:

Race side (in the vessel data) != game side (what color is shown on screen)
(Yes this caught me out when I have been coding)
In the protocol for base bit stream it's game side
I am unsure if race side is ever used in the protocol doc explicitly (it's used in the vessel data)
In case it makes it click - you can have hostile and friendly stations (game side) of the same faction/race (race side)

Does that answer your Q, @JordanLongstaff ?

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

Successfully merging this pull request may close these issues.

4 participants