acdream/tests/AcDream.Runtime.Tests
Erik df062d2eda fix(ui): night-round review — F8 House not-expired purchase-restriction text
gmHouseUI::DisplayPurchaseTimeText @0x004a3110's not-yet-expired
branch was wrongly marked "unrecoverable from this decomp dump" — a
direct capstone disassembly resolves all three concatenated pieces:
prefix "You may buy another landscape house at " @0x7ab790 (pushed
@0x004a3265), the strftime "%c" format literal @0x7ab7ec (pushed
@0x004a321d) applied to localtime(timestamp + 0x278d00) — the expiry
moment, 30 days after the purchase timestamp — and suffix ". This
restriction does not apply to apartments." @0x7ab7b8 (pushed
@0x004a3235).

Ported in RuntimeHouseState.Recompute, substituting .NET's
culture-default DateTime.ToString() for the CRT's strftime("%c", ...)
(different formatting engine, same "process locale, full date+time"
intent) — filed as register row IA-23 (an approximation, not a gap).
TimeProvider.LocalTimeZone (overridable, defaulting to
TimeZoneInfo.Local in production) keeps the conversion deterministically
testable while matching retail's own localtime() call.

Updated RuntimeHouseStateTests: the not-expired case now asserts the
composed prefix/suffix structure and the exact expiry instant (pinned
via a UTC-fixed test TimeProvider), replacing the old "renders nothing"
assertion. Un-claimed "unrecoverable" in ISSUES #413 item 2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 04:50:36 +02:00
..
CharGen fix(chargen): Campaign CC CC5 review fix round — F1-F14 2026-08-16 01:13:52 +02:00
Chat feat(runtime): share chat commands and run login sequence 2026-08-14 20:27:45 +02:00
Entities fix(review): close the C5b architecture-review findings (D2/D3/D4, L1-L5, S1) 2026-08-05 22:08:46 +02:00
Gameplay fix(ui): night-round review — F8 House not-expired purchase-restriction text 2026-08-17 04:50:36 +02:00
Physics fix(vendor): evidence-based pass — max-first stack ceiling; the local player resolves never-animated MoveTo targets 2026-08-08 17:17:04 +02:00
Session fix(ui): night-round review — F2 HouseQuery fires at login, not tab-open 2026-08-17 04:28:46 +02:00
Support docs: Campaign LA — pinned launch-contract schema COMMITTED into plan LA1 2026-08-14 16:04:32 +02:00
World fix(streaming): derive the portal reveal window from the live streaming radii (#280) 2026-08-05 23:54:59 +02:00
AcDream.Runtime.Tests.csproj feat(chargen): Campaign CC slice CC7 — end-to-end create flow + connected checklist 2026-08-16 02:35:21 +02:00
GameRuntimeContractTests.cs fix(net,runtime): FA2 fix-round SHOULD-FIX -- fellowship mechanism parity, lookup reuse, router test, checkpoint defaults 2026-08-12 02:17:56 +02:00
GameRuntimeTests.cs feat: secure trade with other players - wire, RuntimeTradeState, the 2026-08-14 11:49:13 +02:00
NoWindowGameRuntimeHostTests.cs fix(chat): CH1 review fixes — sbb-idiom channel catch-all, command-output typing 2026-08-09 16:03:13 +02:00
RuntimeDependencyBoundaryTests.cs feat(platform): Campaign LA LA0 — extract ApplicationPathSet to AcDream.Platform 2026-08-14 15:19:02 +02:00
RuntimeGenerationResetTests.cs fix(net,runtime): FA2 fix-round MUST-FIX -- allegiance clears at reset, 0x027C stops seeding 2026-08-12 02:17:04 +02:00
RuntimeSimulationFixtureHostTests.cs refactor(runtime): unify generation reset for direct hosts 2026-07-27 00:43:26 +02:00