Modern open-source C# .NET 10 Asheron's Call client. Faithful port of retail client behaviour to Silk.NET with a plugin API.
The user reported the ground-floor of buildings flickers between the cell mesh floor and the terrain polygon underneath. Classic Z-fight: both surfaces are coincident in Z because buildings rest ON the terrain, and depth-buffer precision picks a winner per-pixel per frame. Add a 2cm Z lift to every EnvCell transform so the cell floor wins cleanly. Human-scale invisible. Separately: NPCs in Phase 6.4 aren't visibly breathing. To tell whether they're being rejected by our registration filter (framerate == 0, single-frame cycle, or one-frame animation) vs. just having short cycles the user can't see, add four rejection counters around the idleCycle check and print them in the summary line next to the other spawn diagnostics. Next run will tell us exactly which bucket eats NPCs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| docs/plans | ||
| src | ||
| tests | ||
| .gitignore | ||
| AcDream.slnx | ||
| CLAUDE.md | ||
| README.md | ||
acdream
Experimental modern open-source Asheron's Call client in C# / .NET 10.
Status: pre-alpha, not playable. Phase 0 only — dat file asset inventory.
Stack: .NET 10, Chorizite.DatReaderWriter for dat parsing. Silk.NET + Avalonia planned for rendering/UI (not yet wired up).
Requires: A retail Asheron's Call install (Turbine/Microsoft property — supply your own). Set ACDREAM_DAT_DIR environment variable to the directory containing client_portal.dat, client_cell_1.dat, client_highres.dat, and client_local_English.dat, or pass it as the first CLI argument.
Layout
src/AcDream.Cli/— console app that dumps asset counts from a dat directoryreferences/— local read-only reference material (ACE, ACViewer, WorldBuilder, DatReaderWriter, holtburger, retail AC install). Gitignored.
Run
dotnet run --project src/AcDream.Cli -- "C:\path\to\Asheron's Call"
Or set ACDREAM_DAT_DIR and run without args.