acdream/tests/AcDream.Core.Net.Tests/Messages
Erik a144e87318 feat(R4-V3): wire completion - mt 8/9 parsing + full params exposure + the mt-0 sticky trailer (closes M7, M13, M14-wire-note)
UpdateMotion now parses TurnToObject (mt 8: guid, standalone wire
heading, 3-dword UnPackNet) and TurnToHeading (mt 9: 3-dword UnPackNet)
into a new TurnToPathData sibling record (the two wire forms genuinely
diverge - 7-dword move UnPackNet with Origin head vs 3-dword turn
UnPackNet with guid+heading head; every consumer switches on
MovementType first, so no polymorphic shape was invented). mt 6/7
exposure widened additively so ALL UnPackNet fields reach
MovementParameters.FromWire. The mt=0 motionFlags sticky-guid trailer
(bit 0x1) is parsed for cursor honesty and carried unconsumed until R5
- scoped to mt=0 ONLY per both ACE's writer (MovementInvalid.Write) and
the decomp's case-0 read, tighter than the plan sketched; the
StandingLongJump bit (0x2) doc-noted as the R5 unpack_movement item.
MoveToRunRate doc-pointered as the V4/V5 MyRunRate write.

11 new golden-byte tests hand-assembled from ACE's writers
(MovementData/TurnToObject/TurnToParameters/TurnToHeading/
MoveToParameters/MovementInvalid) incl. flag-permutation round-trips
and the trailer cursor-honesty case; the existing 12 mt 6/7 fixtures
pass unchanged. Full suite: 3,972 passed.

Implemented by a dedicated agent against the V0-pinned spec (P6 order
confirmed exactly); scope + suite independently verified.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 11:53:53 +02:00
..
AllegianceRequestsTests.cs feat(allegiance): Phase H.2 AllegianceRequests + AllegianceTree model 2026-04-18 17:17:45 +02:00
AppraiseInfoParserTests.cs feat(net): AppraiseInfoParser — ArmorProfile/CreatureProfile/WeaponProfile + enchantment bitfields 2026-04-19 10:24:35 +02:00
AppraiseTests.cs fix(test): update AppraiseTests.ParsePutObjInContainer_RoundTrip for 4-field parser 2026-06-21 19:06:05 +02:00
AutonomousPositionTests.cs feat(L.2b): outbound movement wire parity — RawMotionState default-difference, JumpPack, contact byte 2026-06-30 22:30:01 +02:00
CastSpellTests.cs feat(spells): Phase E.5 CastSpellRequest + Spellbook/enchantment state 2026-04-18 17:00:32 +02:00
CharacterActionsTests.cs fix(net): Phase L.1c conform combat wire events 2026-04-28 10:54:50 +02:00
CharacterEnterWorldTests.cs feat(net): acdream enters the world — CharacterList parsed + CharacterEnterWorld sent + 68 CreateObject received (Phase 4.7) 2026-04-11 15:14:31 +02:00
CharacterListTests.cs feat(net): acdream enters the world — CharacterList parsed + CharacterEnterWorld sent + 68 CreateObject received (Phase 4.7) 2026-04-11 15:14:31 +02:00
ChatTests.cs fix(chat): BuildTell wire field order + retail-style FormatEntry + suppress duplicate Channel echo 2026-04-25 20:49:02 +02:00
CombatEventTests.cs fix(net): Phase L.1c conform combat wire events 2026-04-28 10:54:50 +02:00
CreateObjectTests.cs feat(L.2g-S1): retail movement-event staleness gate (DEV-6) 2026-07-02 15:44:06 +02:00
DeleteObjectTests.cs fix(D.2b): PickupEvent removes the 3D render, not the weenie — unwield lands in the pack 2026-06-22 23:39:27 +02:00
EmoteTextTests.cs feat(net): #18 holtburger inbound chat parity - EmoteText, SoulEmote, ServerMessage, PlayerKilled, WeenieError + Windows-1252 codec 2026-04-25 19:06:01 +02:00
GameActionLoginCompleteTests.cs feat(net): Phase 4.8 — send GameAction.LoginComplete after EnterWorld 2026-04-11 23:36:19 +02:00
GameEventDispatcherTests.cs feat(net): Phase F.1 GameEvent (0xF7B0) envelope dispatcher 2026-04-18 16:52:46 +02:00
GameEventsInventoryTests.cs fix(net): D.2b-B B-Wire — ParseInventoryServerSaveFailed reads weenieError 2026-06-21 18:55:56 +02:00
InteractRequestsTests.cs test(B.5): exercise i32 sign-correctness for BuildPickUp.placement 2026-05-14 15:05:07 +02:00
InventoryActionsTests.cs feat(net): D.2b-B B-Wire — DropItem/GetAndWieldItem/NoLongerViewingContents builders + Send wrappers 2026-06-21 18:58:30 +02:00
InventoryRemoveObjectTests.cs feat(net): D.2b-B B-Wire — InventoryRemoveObject (0x0024) parser 2026-06-21 18:52:21 +02:00
JumpActionTests.cs feat(L.2b): outbound movement wire parity — RawMotionState default-difference, JumpPack, contact byte 2026-06-30 22:30:01 +02:00
MoveToStateGoldenTests.cs feat(L.2b): outbound movement wire parity — RawMotionState default-difference, JumpPack, contact byte 2026-06-30 22:30:01 +02:00
MoveToStateTests.cs feat(L.2b): outbound movement wire parity — RawMotionState default-difference, JumpPack, contact byte 2026-06-30 22:30:01 +02:00
ObjDescEventTests.cs feat(net): wire 0xF625 ObjDescEvent for live appearance updates 2026-05-06 10:46:14 +02:00
PickupEventTests.cs fix(B.5): handle PickupEvent 0xF74A so picked-up items despawn locally 2026-05-14 16:13:16 +02:00
PlayerKilledTests.cs feat(net): #18 holtburger inbound chat parity - EmoteText, SoulEmote, ServerMessage, PlayerKilled, WeenieError + Windows-1252 codec 2026-04-25 19:06:01 +02:00
PositionPackTests.cs feat(L.2b): outbound movement wire parity — RawMotionState default-difference, JumpPack, contact byte 2026-06-30 22:30:01 +02:00
PrivateUpdatePropertyIntTests.cs feat(net): D.2b-B B-Wire — PrivateUpdatePropertyInt (0x02CD) parser 2026-06-21 18:50:56 +02:00
PublicUpdatePropertyIntTests.cs feat(D.5.2): PublicUpdatePropertyInt (0x02CE) parser 2026-06-17 18:29:23 +02:00
RawMotionStatePackTests.cs feat(L.2b): outbound movement wire parity — RawMotionState default-difference, JumpPack, contact byte 2026-06-30 22:30:01 +02:00
ServerMessageTests.cs feat(net): #18 holtburger inbound chat parity - EmoteText, SoulEmote, ServerMessage, PlayerKilled, WeenieError + Windows-1252 codec 2026-04-25 19:06:01 +02:00
SetStackSizeTests.cs feat(net): D.2b-B B-Wire — SetStackSize (0x0197) parser 2026-06-21 18:51:42 +02:00
SetStateTests.cs feat(phys L.2g slice 1): inbound SetState (0xF74B) parser 2026-05-12 22:15:31 +02:00
SetTurbineChatChannelsTests.cs feat(net+chat): #19 TurbineChat (0xF7DE) codec + ChatChannelInfo + SetTurbineChatChannels parser 2026-04-25 19:44:56 +02:00
SocialActionsTests.cs feat(net): SocialActions — query / fellowship / channel / options outbound 2026-04-19 10:26:58 +02:00
SoulEmoteTests.cs feat(net): #18 holtburger inbound chat parity - EmoteText, SoulEmote, ServerMessage, PlayerKilled, WeenieError + Windows-1252 codec 2026-04-25 19:06:01 +02:00
TurbineChatTests.cs feat(net+chat): #19 TurbineChat (0xF7DE) codec + ChatChannelInfo + SetTurbineChatChannels parser 2026-04-25 19:44:56 +02:00
UpdateMotionTests.cs feat(R4-V3): wire completion - mt 8/9 parsing + full params exposure + the mt-0 sticky trailer (closes M7, M13, M14-wire-note) 2026-07-03 11:53:53 +02:00
UpdatePositionTests.cs feat(net): Phase 6.7 — parse UpdatePosition (0xF748) into PositionUpdated event 2026-04-11 20:37:32 +02:00