From b7b2a922ad1ed020edc849491963e6b4f9789312 Mon Sep 17 00:00:00 2001 From: lcdr Date: Tue, 21 Jun 2016 21:19:50 +0200 Subject: [PATCH] Added support for moving platform component. --- captureviewer.pyw | 2 + .../replica/components/MovingPlatform.structs | 42 +++++++++++++++++++ .../replica/serialization_header.structs | 4 +- 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 packetdefinitions/replica/components/MovingPlatform.structs diff --git a/captureviewer.pyw b/captureviewer.pyw index 601f5ef..bcd61ef 100644 --- a/captureviewer.pyw +++ b/captureviewer.pyw @@ -37,6 +37,7 @@ component_name[5] = "Script", component_name[9] = "Skill", component_name[60] = "BaseCombatAI", component_name[48] = "Stats", "Rebuild" +component_name[25] = "MovingPlatform", component_name[49] = "Switch", component_name[16] = "Vendor", component_name[6] = "Bouncer", @@ -45,6 +46,7 @@ component_name[71] = "RacingControl", component_name[2] = "Render", component_name[107] = "Component 107", component_name[12] = None +component_name[27] = None component_name[31] = None component_name[35] = None component_name[36] = None diff --git a/packetdefinitions/replica/components/MovingPlatform.structs b/packetdefinitions/replica/components/MovingPlatform.structs new file mode 100644 index 0000000..9ba33f5 --- /dev/null +++ b/packetdefinitions/replica/components/MovingPlatform.structs @@ -0,0 +1,42 @@ +Component 25 - Moving Platform +flag=[bit] - flag +[bit] - flag + [bit] - ??? + [u16] - path name length + [u16] - path name + [u32] - ??? + [bit] - ??? +if flag: + [bit] - ??? + subcomponent_type=[u32] - subcomponent type, 4 - mover, 5 - simple mover?, expect in (4, 5) + if subcomponent_type == 4: + [bit] - ??? + [u32] - ??? + [s32] - ??? + [bit] - ??? + [bit] - based on this and some other criteria some other things are also included? + [float] - ??? + + [float] - target position x + [float] - target position y + [float] - target position z + + [u32] - current waypoint index? + [u32] - next waypoint index? + + [float] - ??? + [u32] - ??? + if subcomponent_type == 5: + [bit] - flag + [bit] - flag + [float] - position x? + [float] - position y? + [float] - position z? + [float] - rotation x? + [float] - rotation y? + [float] - rotation z? + [float] - rotation w? + [bit] - flag + [u32] - ??? + [u32] - ??? + [bit] - ??? diff --git a/packetdefinitions/replica/serialization_header.structs b/packetdefinitions/replica/serialization_header.structs index 9ae0300..5e7e4a9 100644 --- a/packetdefinitions/replica/serialization_header.structs +++ b/packetdefinitions/replica/serialization_header.structs @@ -1,7 +1,7 @@ [bit] - flag - [bit] - flag, expect == False + [bit] - flag [s64] - parent object id [bit] - ??? - [bit] - flag, expect == False + [bit] - flag [u16] - count [u64] - child object id