Commit graph

  • 31602c6a24 docs(teleport): spec — retail residency + fade-cover (refutes _datLock starvation) Erik 2026-06-22 11:18:16 +02:00
  • 499485a672 docs: D.2b empty-slot art — close inventory portion of the empty-slot-art issue Erik 2026-06-22 11:10:39 +02:00
  • edbe5bafd5 feat(ui): D.2b empty-slot art — GameWindow resolves + wires per-list empty sprites Erik 2026-06-22 11:07:58 +02:00
  • 8c719cd3e9 feat(ui): D.2b empty-slot art — InventoryController applies per-list empty sprites Erik 2026-06-22 11:05:12 +02:00
  • 4785232523 feat(ui): D.2b empty-slot art — UiItemList.CellEmptySprite stamps cells Erik 2026-06-22 11:03:19 +02:00
  • b8626401ad feat(ui): D.2b empty-slot art — ItemListCellTemplate resolver (0x1000000e -> 0x21000037) Erik 2026-06-22 11:00:36 +02:00
  • 69ad2cf12d docs(D.2b): implementation plan — inventory empty-slot art via cell-template resolution Erik 2026-06-22 10:40:51 +02:00
  • 660bcc2fcf docs(D.2b): design — faithful inventory empty-slot art via cell-template resolution Erik 2026-06-22 10:31:38 +02:00
  • f8cda7e86d docs(teleport): foundation-investigation handoff for a fresh-look session Erik 2026-06-22 10:00:23 +02:00
  • dd2eb8b39d revert(teleport): drop the Slice 2 outdoor readiness-gate hold Erik 2026-06-21 21:46:24 +02:00
  • e6c8b65f77 docs(D.2b): inventory finish Stage 1 — handoff + divergence rows + ISSUES Erik 2026-06-21 21:31:24 +02:00
  • 1be7e65fad feat(ui): D.2b inventory finish — contents grid shows full main-pack capacity Erik 2026-06-21 21:21:20 +02:00
  • a1e7041ba8 feat(ui): D.2b inventory finish — vertical-only window resize Erik 2026-06-21 21:17:28 +02:00
  • 06c4288282 feat(ui): D.2b inventory finish — window chrome frame (UiNineSlicePanel) Erik 2026-06-21 20:55:50 +02:00
  • c8809735f3 fix(teleport #145): IsLandblockLoaded key mismatch — outdoor gate was permanently NotReady Erik 2026-06-21 20:52:23 +02:00
  • 14ea938c7f fix(ui): D.2b inventory finish — grid cells exempt from the anchor pass Erik 2026-06-21 20:51:08 +02:00
  • 4112a53683 feat(ui): D.2b inventory finish — side-bag column slots (36px pitch + empties) Erik 2026-06-21 20:33:03 +02:00
  • fad807587d feat(ui): D.2b inventory finish — bind contents-grid gutter scrollbar Erik 2026-06-21 20:29:53 +02:00
  • 0d3117596c feat(ui): D.2b inventory finish — UiItemList mouse-wheel scroll Erik 2026-06-21 20:26:57 +02:00
  • 366af0c34f feat(ui): D.2b inventory finish — UiItemList clip+scroll via UiScrollable Erik 2026-06-21 20:25:11 +02:00
  • 7aba6d235c docs(D.2b): inventory window finish (Stage 1) implementation plan Erik 2026-06-21 20:15:48 +02:00
  • 589c7cfb57 feat(slice2): arrival-gate probe — log NotReady→Ready flip with landblock count Erik 2026-06-21 20:12:45 +02:00
  • b745850ab8 feat(slice2): wire outdoorReady into TeleportArrivalReadiness (GameWindow) Erik 2026-06-21 20:12:40 +02:00
  • b47b21570a feat(slice2): TeleportArrivalRules.Decide — outdoor holds until landblock loaded (#145 §3.4) Erik 2026-06-21 20:12:37 +02:00
  • ad8c24ef8b feat(slice2): add PhysicsEngine.IsLandblockLoaded — readiness gate §3.4 Erik 2026-06-21 20:10:22 +02:00
  • 00ef47ed59 refactor(teleport): Slice 1 review cleanup — drop vestigial pending fields; comment the worldReady min-continue gate Erik 2026-06-21 20:07:50 +02:00
  • 0fbb76b2e7 docs(D.2b): inventory window finish (Stage 1) spec Erik 2026-06-21 20:07:10 +02:00
  • 2c8cd887e5 docs(slice-1): retail-divergence-register — TAS smoothstep approximation row (spec §5 row 2) Erik 2026-06-21 20:03:03 +02:00
  • 8b5002791a feat(core/slice-1): Begin() sets EnterTunnel pending for portal/login/death entry; all sequencer tests pass Erik 2026-06-21 20:01:17 +02:00
  • c3d6eccf51 test(core/slice-1): full portal+logout event-sequence ordering + no-duplicate-fire coverage Erik 2026-06-21 20:00:39 +02:00
  • f1b59f3a64 test(core/slice-1): FadeAlpha endpoint + monotonicity + ShowTunnel/ShowPleaseWait coverage Erik 2026-06-21 19:59:51 +02:00
  • c2fc7ce1ef feat(core/slice-1): TeleportAnimSequencer — full 7-state Tick() with timed transitions and edge events Erik 2026-06-21 19:59:08 +02:00
  • 0468df21f5 feat(core/slice-1): TeleportAnimSequencer — Begin(), IsActive, enter-sound edge event Erik 2026-06-21 19:56:56 +02:00
  • 4f7e8ec30a feat(core/slice-1): TeleportAnimSequencer — define enums, record, event types Erik 2026-06-21 19:55:40 +02:00
  • 82462ff153 docs(teleport-flow): implementation plan — 22 TDD tasks across 5 slices (Work item B) Erik 2026-06-21 19:42:28 +02:00
  • 7c006d103a docs(D.2b-B): B-Wire shipped — AP-48/AP-49 fallback-only + ISSUES entry Erik 2026-06-21 19:24:25 +02:00
  • 7badecf387 test(app): D.2b-B B-Wire — burden wire-first + live-refresh tests + review notes Erik 2026-06-21 19:19:13 +02:00
  • aa0ecaeb4d fix(app): D.2b-B B-Wire — burden bar refreshes on player-object property update Erik 2026-06-21 19:08:26 +02:00
  • 102c46c8e3 feat(app): D.2b-B B-Wire — wire player guid into ObjectTableWiring + GameEventWiring Erik 2026-06-21 19:08:07 +02:00
  • a69c733e6e fix(test): update AppraiseTests.ParsePutObjInContainer_RoundTrip for 4-field parser Erik 2026-06-21 19:06:05 +02:00
  • 275319461e feat(net): D.2b-B B-Wire — ObjectTableWiring applies all ints + player int + stack/remove Erik 2026-06-21 19:05:00 +02:00
  • 672df23010 feat(net): D.2b-B B-Wire — WorldSession dispatch for 0x02CD/SetStackSize/InventoryRemoveObject Erik 2026-06-21 19:04:22 +02:00
  • aab9ddaf6b docs(teleport-flow): design — unified retail TeleportAnimState flow (Work item B keystone) Erik 2026-06-21 19:03:10 +02:00
  • 3a9c188233 feat(net): D.2b-B B-Wire — register ViewContents + InventoryPutObjectIn3D/SaveFailed/CloseGroundContainer Erik 2026-06-21 19:01:53 +02:00
  • d97d84d7ca feat(net): D.2b-B B-Wire — PlayerDescription delivers player properties to ClientObject Erik 2026-06-21 19:00:59 +02:00
  • de8baa1aa1 feat(net): D.2b-B B-Wire — DropItem/GetAndWieldItem/NoLongerViewingContents builders + Send wrappers Erik 2026-06-21 18:58:30 +02:00
  • 7013651a90 fix(net): D.2b-B B-Wire — ParseInventoryServerSaveFailed reads weenieError Erik 2026-06-21 18:55:56 +02:00
  • 01910e3fab fix(net): D.2b-B B-Wire — ParsePutObjInContainer reads containerType (4th field) Erik 2026-06-21 18:55:14 +02:00
  • 43afcc2adb feat(net): D.2b-B B-Wire — ParseViewContents (0x0196) Erik 2026-06-21 18:54:25 +02:00
  • 79c0374d53 feat(net): D.2b-B B-Wire — InventoryRemoveObject (0x0024) parser Erik 2026-06-21 18:52:21 +02:00
  • 87e354f583 feat(net): D.2b-B B-Wire — SetStackSize (0x0197) parser Erik 2026-06-21 18:51:42 +02:00
  • 7b25d78506 feat(net): D.2b-B B-Wire — PrivateUpdatePropertyInt (0x02CD) parser Erik 2026-06-21 18:50:56 +02:00
  • 3f190811be feat(core): D.2b-B B-Wire — ClientObjectTable.UpdateStackSize Erik 2026-06-21 18:48:54 +02:00
  • b56087b498 feat(core): D.2b-B B-Wire — ClientObjectTable.UpsertProperties (create-if-absent) Erik 2026-06-21 18:48:04 +02:00
  • ca94d1d2f6 docs(D.2b-B): B-Wire implementation plan Erik 2026-06-21 18:41:43 +02:00
  • 5737951a19 docs(D.2b-B): B-Wire spec — inventory wire layer Erik 2026-06-21 18:25:58 +02:00
  • adaec1845f docs: handoff — fold in retail teleport-anim (TAS) flow + acdream gap analysis for the teleport-flow feature Erik 2026-06-21 18:24:08 +02:00
  • 59b4868408 docs: handoff — teleport issues cluster (#145 residual + retail teleport flow + FPS leak) Erik 2026-06-21 18:11:37 +02:00
  • 1230c07af3 docs(handoff): D.2b B-Controller shipped + visually confirmed; B-Wire next Erik 2026-06-21 18:08:05 +02:00
  • b7ca33118b docs(#145): REOPEN — cascade recurs on unstreamed-arrival-near-edge (streamed case fixed) Erik 2026-06-21 18:04:54 +02:00
  • c38f098ec0 docs(D.2b-B): B-Controller visually confirmed; #145 continuation + overflow follow-up Erik 2026-06-21 18:01:38 +02:00
  • 417b1375fd fix(ui): D.2b-B — inventory panels render over the backdrop (#145 continuation) + captions Erik 2026-06-21 17:58:44 +02:00
  • 7605439efa test(physics #145): continuous-tracking test — refutes the review staleness claim Erik 2026-06-21 17:38:47 +02:00
  • b0cbc09ba0 docs(#145): cascade FIXED + user-gate passed — far-town round-trip works (Slices 1-3+7) Erik 2026-06-21 17:30:11 +02:00
  • 403a338feb fix(physics #145): Slice 7 — idle the motion interpreter on teleport arrival Erik 2026-06-21 13:54:29 +02:00
  • 6349ba49aa fix(physics #145): Slice 3 — carried-anchor membership; closes the far-town cascade Erik 2026-06-21 13:51:04 +02:00
  • 865aae8876 docs(#145): Slice 3 — capture cellId/anchor-consistency + indoor-staleness edge cases + sweep threading map Erik 2026-06-21 11:08:13 +02:00
  • 9e184eb861 docs(#145): Slice 3 design — carried-anchor (body.Position - CellPosition.Origin) replaces TryGetTerrainOrigin Erik 2026-06-21 11:05:54 +02:00
  • 7cae03951e docs(#145): plan — split Slice 2 into 2a (Core, shipped) + fold 2b seeding into Slice 3 Erik 2026-06-21 10:57:04 +02:00
  • 7928b445ab fix(physics #145): Slice 2a — canonicalize outdoor seed + re-derive cell index every tick Erik 2026-06-21 10:55:27 +02:00
  • afe495b9e6 feat(physics #145): Slice 2a — PhysicsBody carries CellPosition; setter delta-syncs into the cell frame Erik 2026-06-21 10:49:39 +02:00
  • c980763322 refactor(physics #145): Slice 1 — rename Frame->CellFrame to avoid DatReaderWriter.Types.Frame collision Erik 2026-06-21 10:34:36 +02:00
  • 438bb681a5 feat(physics #145): Slice 1 — Position/Frame types + LandDefs.GetBlockOffset (0x0043e630) Erik 2026-06-21 10:30:20 +02:00
  • ed32db70d7 docs(#145): implementation plan — cell-relative physics frame (7 slices) Erik 2026-06-21 10:23:37 +02:00
  • fd1f86b771 docs(#145): Option B design spec — cell-relative physics Position frame Erik 2026-06-21 10:18:18 +02:00
  • 67f98e8e72 docs(#145): verified root cause + decision to port cell-relative physics frame (Option B) + handoff Erik 2026-06-21 09:47:01 +02:00
  • 1ccf07b705 fix(ui): D.2b-B — address phase-boundary review (burden % saturation + equipped filter) Erik 2026-06-21 09:28:29 +02:00
  • 7bb4bd3ae8 docs(D.2b-B): divergence rows + issues/roadmap for inventory population Erik 2026-06-21 09:15:05 +02:00
  • 03fbf4464d feat(ui): D.2b-B — wire InventoryController into the inventory-init block Erik 2026-06-21 09:12:34 +02:00
  • 383e8b7b55 refactor(ui): D.2b-B — Populate uses GetContents only (drop test-driven fallback) Erik 2026-06-21 09:09:15 +02:00
  • 89c640a54d feat(ui): D.2b-B — InventoryController bind + grid population (loose/side-bag partition) Erik 2026-06-21 09:04:48 +02:00
  • 5e75d2ac76 feat(ui): D.2b-B — UiMeter vertical fill (burden bar, retail m_eDirection 2/4) Erik 2026-06-21 08:58:37 +02:00
  • fb050aed4d feat(core): D.2b-B — ClientObjectTable.SumCarriedBurden (carried-Burden fallback) Erik 2026-06-21 08:55:35 +02:00
  • 5875ac857d feat(core): D.2b-B — port EncumbranceSystem capacity/load + SetLoadLevel fill/percent Erik 2026-06-21 08:54:16 +02:00
  • a4f0b51894 docs(issues): reopen #145 — far-town teleport resolver runaway (residual of the source-drop fix) Erik 2026-06-21 08:54:05 +02:00
  • 5b3295ad13 docs(D.2b-B): InventoryController implementation plan (8 tasks, TDD) Erik 2026-06-21 08:50:21 +02:00
  • 0e273ff2ac docs(D.2b-B): InventoryController (B-Controller) design spec Erik 2026-06-21 08:31:21 +02:00
  • b07825cd24 docs(research): #138 handoff — RESOLVED banner + correct the re-hydrate source (not ClientObjectTable) Erik 2026-06-21 08:09:36 +02:00
  • aa4a04d28e docs(issues): #138 fix shipped — re-delivery confirmed; handoff source-table corrected Erik 2026-06-21 08:07:42 +02:00
  • 0a5f91b6fe fix(streaming): #138 — rescue persistent entities from the pending bucket on unload Erik 2026-06-21 08:07:28 +02:00
  • bf66fb4123 fix(streaming): #138 — re-hydrate server objects from the retained spawn table on reload Erik 2026-06-21 08:06:41 +02:00
  • 4e23a7b9bc docs(handoff): D.2b A+B-Grid shipped, #145 fixed, B-Controller next Erik 2026-06-21 07:52:40 +02:00
  • 4904ff4e21 docs(issues): #145 DONE — ZLevel fix renders the inventory panels Erik 2026-06-21 07:36:55 +02:00
  • b9445f53fe docs: handoff for #138 (entity re-delivery after teleport) — next session Erik 2026-06-21 07:29:00 +02:00
  • c0b2cf2f7b docs(issues): #138 re-scoped — it's entity RE-DELIVERY across a teleport, not render-cull/cache Erik 2026-06-21 07:24:01 +02:00
  • 45a5cc5bb6 fix(ui): #145 — importer honors ZLevel so the backdrop sits behind panels Erik 2026-06-21 07:22:26 +02:00
  • d81ea11a31 docs(issues): #145 — inventory panels occluded by full-window backdrop Erik 2026-06-20 22:58:11 +02:00
  • 7d971a2b3e feat(ui): D.2b-B — F12 shows the real gmInventoryUI (0x21000023) Erik 2026-06-20 22:37:01 +02:00
  • 85098f535d feat(ui): D.2b-B — sub-window mount (inheritor attaches base subtree) Erik 2026-06-20 22:36:20 +02:00
  • 4fd4b09f3f feat(ui): D.2b-B — UiItemList N-cell grid mode Erik 2026-06-20 22:34:30 +02:00