acdream/src/AcDream.Core.Net/Messages
Erik 92ea3977b6
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
feat(vendor): Slice 6b/6c — move-to-use, buy staging, selling; the vendor arc is functionally complete
C1 an out-of-range Use now approaches first via the existing
client-predicted BeginApproach (Pickup's far-range shape mirrored;
retail's ItemHolder::UseObject @0x00588A80 has no range check and the
dispatch stays immediate). C2 Add-to-List stages into the Buying tab
via VendorStagingList (RemoveProfileFromList's two shapes,
pc:200497-200537), Buy All sends ONE batched 0x005F and flushes
staging on send exactly as retail does (SendShopEvent -> Flush,
pc:204075-204076 — not UseDone-gated), and X-close over a non-empty
staging list shows retail's confirm string recovered verbatim from the
binary data segment (0x007b5bd8) through the existing dialog factory.
C3 the Selling tab's list is the sole drop target (retail's single
IsAncestorOfMe gate, pc:204229-204246); VendorSellAcceptability ports
InqAcceptability with all rejection strings recovered verbatim from
the raw data segment; the sell side prices with BuyPrice (retail's
inverted naming: what the vendor PAYS) and 0x0060 carries no trailing
currency field, unlike Buy. C4 the status-bar reproduction test PASSES
against the production toolbar mount — retail's toolbar shows count +
name with the split bar and NO price parenthetical (that figure is the
vendor row's own cost text); no code change, the live gate referees.
C5 pack order verified correct, untouched.

Register: AP-161 narrowed to its two pre-existing cosmetic gaps;
AP-162 extended over Buy All; AP-164 (non-sellable bitfield
unmodeled), AP-165 (DescStackSize for _maxStackSize in the removal
test, bounded), AP-166 (purse text + pending-sell highlight cosmetic)
filed.

Clean-room complete solution: 11,482 passed / 4 skipped / 0 failed.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-08-08 11:43:11 +02:00
..
AllegianceRequests.cs feat(allegiance): Phase H.2 AllegianceRequests + AllegianceTree model 2026-04-18 17:17:45 +02:00
AppraiseInfoParser.cs fix #234: port retail appraisal floaty and inscriptions 2026-07-23 12:12:57 +02:00
AppraiseRequest.cs feat(items): Phase F.2 ItemRepository + AppraiseRequest round-trip 2026-04-18 16:55:36 +02:00
AttackTargetRequest.cs fix(net): Phase L.1c conform combat wire events 2026-04-28 10:54:50 +02:00
AutonomousPosition.cs feat(net): Phase B.2 — MoveToState + AutonomousPosition message builders 2026-04-12 14:28:35 +02:00
CastSpellRequest.cs feat(spells): Phase E.5 CastSpellRequest + Spellbook/enchantment state 2026-04-18 17:00:32 +02:00
CharacterActions.cs fix(net): xpSpent is a dword on the wire, and we were sending eight bytes 2026-07-29 01:59:47 +02:00
CharacterEnterWorld.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
CharacterList.cs fix(net): conform character entry and session shutdown 2026-07-21 10:33:03 +02:00
CharacterLogOff.cs fix(net): conform character entry and session shutdown 2026-07-21 10:33:03 +02:00
ChatRequests.cs fix(chat): BuildTell wire field order + retail-style FormatEntry + suppress duplicate Channel echo 2026-04-25 20:49:02 +02:00
ClientCommandRequests.cs feat(chat): port retail's @pklite client command (EnterPkLite 0x028F) 2026-08-03 18:57:17 +02:00
CreateObject.cs refactor(net): Slice 5.0 — extract the PublicWeenieDesc body parser for shared use (behavior-preserving) 2026-08-07 14:41:09 +02:00
DddInterrogationResponse.cs feat(net): Phase 4.10 — DddInterrogationResponse + correct LoginComplete trigger 2026-04-11 23:48:37 +02:00
DeleteObject.cs feat(net): port retail physics spawn and event timestamps 2026-07-14 00:22:17 +02:00
EmoteText.cs perf(net): borrow inbound packet storage 2026-07-25 05:58:55 +02:00
EnchantmentWireReader.cs feat: port retail magic lifecycle and retained spell UI 2026-07-15 10:55:22 +02:00
Encodings.cs feat(net): #18 holtburger inbound chat parity - EmoteText, SoulEmote, ServerMessage, PlayerKilled, WeenieError + Windows-1252 codec 2026-04-25 19:06:01 +02:00
GameActionLoginComplete.cs fix(session): acknowledge login after first placement 2026-08-03 12:10:42 +02:00
GameEventDispatcher.cs perf(net): borrow inbound packet storage 2026-07-25 05:58:55 +02:00
GameEventEnvelope.cs perf(net): borrow inbound packet storage 2026-07-25 05:58:55 +02:00
GameEvents.cs fix(physics): AP-129 review fix - port CanMoveInto/IsAllowedIn, stop failing closed 2026-07-30 11:36:11 +02:00
GameEventType.cs feat(net): Phase F.1 GameEvent (0xF7B0) envelope dispatcher 2026-04-18 16:52:46 +02:00
GameMessageFragment.cs perf(net): frame recurring sends in place 2026-07-25 06:02:52 +02:00
HearSpeech.cs fix(net): ranged speech carries a range float our parser was eating 2026-07-29 01:51:34 +02:00
InteractRequests.cs feat(B.5): InteractRequests.BuildPickUp — PutItemInContainer 0x0019 2026-05-14 15:01:24 +02:00
InventoryActions.cs fix #234: port retail appraisal floaty and inscriptions 2026-07-23 12:12:57 +02:00
InventoryRemoveObject.cs feat(net): D.2b-B B-Wire — InventoryRemoveObject (0x0024) parser 2026-06-21 18:52:21 +02:00
JumpAction.cs feat(L.2b): outbound movement wire parity — RawMotionState default-difference, JumpPack, contact byte 2026-06-30 22:30:01 +02:00
MoveToState.cs feat(L.2b): outbound movement wire parity — RawMotionState default-difference, JumpPack, contact byte 2026-06-30 22:30:01 +02:00
ObjDescEvent.cs feat(net): port retail physics spawn and event timestamps 2026-07-14 00:22:17 +02:00
ParentEvent.cs feat(combat): port retail held weapon parenting 2026-07-11 13:02:26 +02:00
PhysicsSpawnData.cs feat(net): port retail physics spawn and event timestamps 2026-07-14 00:22:17 +02:00
PickupEvent.cs feat(net): port retail physics spawn and event timestamps 2026-07-14 00:22:17 +02:00
PlayerDescriptionParser.cs feat: port retail magic lifecycle and retained spell UI 2026-07-15 10:55:22 +02:00
PlayerKilled.cs perf(net): borrow inbound packet storage 2026-07-25 05:58:55 +02:00
PlayPhysicsScript.cs feat(net): port retail physics spawn and event timestamps 2026-07-14 00:22:17 +02:00
PlayPhysicsScriptType.cs feat(net): port retail physics spawn and event timestamps 2026-07-14 00:22:17 +02:00
PrivateUpdatePropertyInt.cs feat(net): D.2b-B B-Wire — PrivateUpdatePropertyInt (0x02CD) parser 2026-06-21 18:50:56 +02:00
PrivateUpdatePropertyInt64.cs fix(ui): port live experience quality updates (#217) 2026-07-13 20:43:48 +02:00
PrivateUpdateVital.cs feat(player): #5 PlayerDescription parser — Stam/Mana via attribute block 2026-04-25 16:42:24 +02:00
PublicUpdatePropertyInt.cs feat(D.5.2): PublicUpdatePropertyInt (0x02CE) parser 2026-06-17 18:29:23 +02:00
PublicWeenieDescBody.cs refactor(net): Slice 5.0 — extract the PublicWeenieDesc body parser for shared use (behavior-preserving) 2026-08-07 14:41:09 +02:00
RawMotionStatePacker.cs feat(L.2b): outbound movement wire parity — RawMotionState default-difference, JumpPack, contact byte 2026-06-30 22:30:01 +02:00
ServerMessage.cs perf(net): borrow inbound packet storage 2026-07-25 05:58:55 +02:00
SetStackSize.cs feat(net): D.2b-B B-Wire — SetStackSize (0x0197) parser 2026-06-21 18:51:42 +02:00
SetState.cs feat(phys L.2g slice 1): WorldSession dispatches SetState (0xF74B) + hex probe 2026-05-12 22:28:04 +02:00
SetTurbineChatChannels.cs feat(net+chat): #19 TurbineChat (0xF7DE) codec + ChatChannelInfo + SetTurbineChatChannels parser 2026-04-25 19:44:56 +02:00
SocialActions.cs feat(ui): share indicator detail panels 2026-07-17 10:27:41 +02:00
SocialStateMessages.cs feat(chat): port retail client command families 2026-07-13 14:50:15 +02:00
SoulEmote.cs perf(net): borrow inbound packet storage 2026-07-25 05:58:55 +02:00
StringReader.cs feat(net): #18 holtburger inbound chat parity - EmoteText, SoulEmote, ServerMessage, PlayerKilled, WeenieError + Windows-1252 codec 2026-04-25 19:06:01 +02:00
TurbineChat.cs perf(net): borrow inbound packet storage 2026-07-25 05:58:55 +02:00
UpdateMotion.cs feat(net): port retail physics spawn and event timestamps 2026-07-14 00:22:17 +02:00
UpdatePosition.cs feat(net): port retail physics spawn and event timestamps 2026-07-14 00:22:17 +02:00
VectorUpdate.cs fix(net): VectorUpdate parser was reading guid from opcode bytes — remote jumps invisible 2026-04-26 21:51:36 +02:00
VendorApproach.cs feat(net): Slice 5.1 — ApproachVendor (GameEvent 0x0062) inbound parser 2026-08-07 15:05:47 +02:00
VendorRequests.cs feat(vendor): Slice 6b/6c — move-to-use, buy staging, selling; the vendor arc is functionally complete 2026-08-08 11:43:11 +02:00
WeenieErrorText.cs docs(ui): repair retail fidelity ledger 2026-07-10 17:05:12 +02:00